2011-07-28 178 views
0

是否可以通過名稱檢索sharepoint SPListItem的列索引?我一直無法找到這樣做的方法。Sharepoint SPListItem按名稱檢索列索引

舉例來說。

SPListItem data; 
int32 value = data.getIndexByName("Title"); 
+1

列索引是否取決於視圖? –

+1

我可以問你爲什麼要這樣做? – Ryan

回答

2

你可以寫擴展方法

public static class SPListItemExtension 
{ 
    public static int getIndexByName(this SPListItem item, string name) 
    { 
     for (int i = 0; i < item.Fields.Count; i++) 
     { 
      if (item.Fields[i].InternalName.Equals(name)) 
      { 
       return i; 
      } 

     } 
     return -1; 
    } 

} 

但是,你爲什麼要這麼做呢?

+0

基本上是爲了避免我的庫中存在一些重複的代碼。然而很顯然,我首先想到的是更多的努力。 –

0

在這種情況下,術語ID是什麼意思?

每個字段將從整個SiteContentType或SiteFields複製到列表本身。通過複製該字段,每個字段將收到一個新的ID。您可以通過使用FieldID或通過使用字段的內部名稱查詢列表或Web。

var field = myList.Fields[SPBuiltInFields.Title]; 
Console.WriteLine(field.ID); 

希望這就是你所期待的。

Thorsten