2010-04-15 89 views
0

我有一個包含Sharepoint特定字段/列,我自己的自定義字段/列以及由某人創建的一堆自定義字段/列的字段/列的列表其他(我不知道他們是什麼)。我的目標是獲得由其他人創建的字段/列的列表。Sharepoint如何獲取Sharepoint特定字段/列的列表

我的第一個障礙在於如何判斷哪些來自Sharepoint。所以我想知道有沒有辦法以編程方式檢索Sharepoint特定字段/列的列表?

謝謝。

回答

2

這不是編程,但在12蜂房您的服務器,在模板/功能/場是我認爲包含所有標準的SharePoint場的fieldswss.xml。

一個更具編程意義的方法是遍歷網站欄並執行一些檢查。例如,

List<string> retVal = new List<string>(); 
using (SPSite site = new SPSite("urlofsite")) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     List<string> spColGroups = new List<string>() { "Base Columns", "Core Contact and Calendar Columns", "Core Document Columns", "Core Task and Issue Columns", "Extended Columns" } 

     foreach (SPField field in web.Fields) 
     { 
      if (spColGroups.Contains(field.Group)) 
      { 
       retVal.Add(field.Title); 
      } 
     } 
    } 
} 

名單retVal的將隨後包含屬於標準SharePoint站點列組中的所有站點列的名稱(至少,對於WSS。我不知道MOSS)。我個人的做法(我不知道這是否很常見,但我認爲這是一個非常明智的舉動)是始終在與默認SharePoint不同的組中創建自己的自定義列,因此這隻會獲得SharePoint列。如果情況並非如此,則必須爲您的情況制定更有用的檢查。我希望如果這不能解決你的問題,至少可以幫助你走上正確的道路。

0

嘗試使用SharePoint提供的列表數據檢索Web服務。

http://<site>/_vti_bin/DspSts.asmx 

我沒有SharePoint中的機器在家裏這個測試自己,但我會嘗試在「字段」類。我明天在工作時自己測試一下。

文檔: http://msdn.microsoft.com/en-us/library/ms774413.aspx

0

這可能不是一個詳盡的列表,但SPBuiltInFieldId類將是一個很好的開始。

相關問題