2008-11-14 6 views
8

목록에서 "제목"필드를 숨기려고합니다.SharePoint : 목록 필드를 프로그래밍 방식으로 숨김으로 설정하십시오.

SPList myList; 
... 
SPField titleField = myList.Fields.GetField("Title"); 
//titleField.PushChangesToLists = true; <-- doesn't seem to make a difference 
titleField.ShowInEditForm = false; 
titleField.ShowInDisplayForm = false; 
titleField.ShowInNewForm = false; 
titleField.Update(); 
//myList.Update(); <-- make no difference 

을 내가 잘못 뭐하는 거지 : 이 작동하지 않는 것?

답변

12

이 시도 :

field.Hidden = true; 
field.Update(); 
+2

그건 당황 스럽네. 이것은 내가 필요한 것입니다. 나는 여전히'ShowInEditForm' 속성이 무엇인지 이해하지 못한다. 그러나 적어도 나는 넘어갈 수있다. 고마워. (내 방어에서, 나는 한 주 내내 잤지 않았다. - 신생아가 집에있다.) – vitule

+0

경우에 만약 당신이 경우에만 그 표시가 양식에서 다음 속성을해야합니다 숨기고 싶습니다. – TinTin

0

SPWeb 인스턴스를 가져오고 있는지 확인하십시오.

using (SPSite site = new SPSite(webUrl)) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     try 
     { 
      //... Get SPList ... 
     } 
    } 
} 
+0

아니야. 그래도 고마워! – vitule

0

목록의 필드 표시 여부는 사용자가 "가져 오는"기본보기로 제어됩니다. 보기를 수정하지 않으시겠습니까? 기본 뷰뿐만 아니라 목록에 대한 뷰를 얻을 수 있다는 것을 알고 있습니다.

I 해요 단지 침을-볼링 여기 ...

+0

내 주요 관심사는 새 양식 및 편집 양식에서 "제목"필드를 제거하는 것입니다. – vitule

0

당신은 숨겨진 속성을 사용할 때 지불하는 가격이있다.

열을 숨김으로 설정하면 코드를 통해 삭제할 수 없게됩니다.

0

시도해보십시오. 제목 필드의 이름은 LinkTitle ... 다른 필드는 같은 방식으로 숨길 수 있습니다.

SPView view = list.DefaultView;  
if(view.ViewFields.Exists("LinkTitle")) 
{  
    view.ViewFields.Delete("LinkTitle");  
    view.Update();  
} 
0

위의 해결 방법은 모든 필드를 숨기는 것입니다. 또한 목록의 열 개요에 숨겨집니다.

특정 목록에서 필드를 숨기려면, 또는 여전히 목록 설정 페이지를 사용하여 필드를 다시 조작 할 수 있습니다 (다시 표시로 설정). 목록의 "FieldLinks"속성에서 필드의 "숨겨진"속성을 설정해야합니다.

myList.FieldLinks["SomeField"].Hidden = true; 
2

CanToggleHidden의 값이 true가 아니면 위의 숨겨진 참 설정 예제는 작동하지 않습니다. 문제는 CanToggleHidden은 Get이 아니라 Set가 있기 때문에 리플렉션을 사용하여 CanToggleHidden을 false에서 true로 전환하는 급진적 인 "SharePoint 프로그래밍 체조"를 수행해야합니다. 이 작업을 완료하면 숨김을 참 (또는 거짓으로)으로 변경할 수 있습니다. 웹에 많은 예제가 있습니다 (모두 올바르게 쓰여진 것은 아니지만). 필요한 경우 PowerShell 예제를 파헤쳐 볼 수 있습니다.

if(field.CanToggleHidden) { 
    field.Hidden = false; 
} 
else 
{ 
    // display an error message or write to your favorite logging location 
    // explaining that there is no hope of changing the value of Hidden until 
    // CanToggleHidden changes to TRUE first. 
} 
관련 문제