2011-07-28 5 views
0

共有ポイント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を使用するか、フィールドの内部名を使用して、ListまたはWebを照会することができます。

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

これはあなたが探しているものです。

Thorsten

関連する問題