2009-06-09 12 views
2

私は、SharePointのリストを持っている表示フィールド名と値

と同様に出力いろいろ書いに各項目の各フィールドを介してすべてそのリストの項目と、ループを取得したい:

「フィールド名:値 "

どうすればいいですか?

おかげ

答えて

5

ヨハンは近くでしたが、実際の価値はありませんでした。次のようにする必要があります。

using (SPSite site = new SPSite("<site_url_where_list_is>")) 
{ 
    using (SPWeb web = site.OpenWeb()) 
    { 
     SPList list = web.Lists["<list_name>"]; 
     foreach (SPListItem listItem in list.Items) 
     { 
      foreach (SPField field in list.Fields) 
      { 
       object value = listItem[field.Id]; 
       System.Diagnostics.Debug.WriteLine(field.Title + ": " + (value == null ? "(null)" : value.ToString())); 
      } 
     } 
    } 
} 
+2

通常、すべてのレコードを反復処理しない限り、SPList.Itemsは呼び出さないことに注意してください。代わりに、SPList.GetItems(SPQuery)を使用します。 –

+0

あなたはSPList.Itemsを使うべきではなく、代わりにSPList.GetItems Kirkを使うべきであると言わさっています。それは大きなコレクションでは重要なことです...私は経験から知っています。 +1 –

0
SPList list = GetList(); 

    foreach(SPListItem item in list.Items) 
    { 
     foreach (SPField field in item.Fields) 
     { 

     Console.WriteLine("Name : {0} - Value: {1}", 
          field.InternalName, item[field.Id].ToString()); 
     } 
    } 

そのような何か?

EDIT: Kirkがそれを言及した後で、コードの誤りが修正されました。

関連する問題