2012-07-20 45 views
2

任何人都可以告訴我如何從分享點列表中獲取自定義字段?我不想讓隱藏的所有字段,只是自定義字段或默認視圖中的字段。 最終結果將是保存xml文件中每個字段的schemaxml。僅從分享點列表中獲取自定義字段

我試圖做這樣的:

SPfieldCollection fields = list.DefaultView.ViewFields 
foreach(SPField field in fields) 
{ 
.... 
} 

PowerShell的或C#將是非常有益的。 謝謝

+0

更好的論壇問這是'sharepoint.stackexchange.com' – 2012-07-20 12:21:26

+0

想想你的自定義字段會從你的內容類型和父域之間的差異內容類型 – StaWho 2012-07-20 13:13:13

+0

自定義字段是指OOB字段類型以外的字段,還是指不屬於列表/內容類型定義的字段? – 2012-07-20 22:52:43

回答

2

屬性要檢查的隱藏ReadOnlyField。如果其中任何一個是TRUE,則表示該字段是「系統字段」。

然後你可以檢查(和過濾)剩餘的字段 - 附件,標題,... - 通過它的內部名稱。

這裏是將過濾領域的腳本:

$w = get-spweb http://localhost 
$l = $w.Lists["Custom list"] 
$l.Fields | ? { $_.Hidden -eq $false -and $_.ReadOnlyField -eq $false -and $_.Title -ne "Attachments" } | select title 
+3

事實上,這不是真的,一個字段可以隱藏或只讀,並且不關心它是否爲自定義字段。實際上,隱藏自定義字段可能很少,但肯定不是隻讀字段。 – 2012-07-20 22:50:35

+0

你是對的,我有這個過濾我的項目之一,並有少許不同的要求。我承認這是不對的。也許它可以幫助別人... :) – jumbo 2012-07-20 23:22:09

+0

感謝您的答覆。我今天晚些時候會試一試,並會告訴你結果。 – 2012-07-22 14:04:38