2014-01-11 24 views
0

下面的源僅打印SPList第一頁上的列表項。不打印在其它頁,即,頁2,頁3等獲取SPList項目列標題和列數據(包括SPLookupFieldValue)

另外,listItems中數據需要將打印SPLookupFieldValue,而不是暗示一些鏈接任何修改下面源即能滿足要求是大大appereciated

static void Main(string[] args) 
{ 
    using (SPSite site = new SPSite("http://intranet.contoso.com")) 
    { 
     using (SPWeb web = site.OpenWeb()) 
     { 
     // Get data from a list. 
     SPList list = web.Lists["Products"]; 
     SPView view = list.DefaultView; 

     SPListItemCollection items = list.GetItems(view); 
     // Get a collection of view field names. 
     StringCollection viewFields = view.ViewFields.ToStringCollection(); 
     // Print data for each item in the view. 
     foreach (SPListItem item in items) 
     { 
      // Print the value of each view field. 
      foreach (string fieldName in viewFields) 
      { 
      Console.WriteLine("{0} = {1}", fieldName, item[fieldName]); 
      } 
      Console.WriteLine(); 
     } 
     } 
    } 
    Console.ReadLine(); 
} 

國家欄是查詢,所以數據打印與ID和值。只需要打印該值。 產品=電視 國家= 2; #uk
產品=汽車 國家= 1; #india

回答

1

首先獲得與list.GetItems項目()

第二次檢查是在現場查找,得到SPFieldLookupValue,然後獲得價值。

static void Main(string[] args) 
{ 
    using (SPSite site = new SPSite("http://intranet.contoso.com")) 
    { 
    using (SPWeb web = site.OpenWeb()) 
    { 
     // Get data from a list. 
     SPList list = web.Lists["Products"]; 
     SPView view = list.DefaultView; 

     SPListItemCollection items = list.GetItems(); 
     // Get a collection of view field names. 
     StringCollection viewFields = view.ViewFields.ToStringCollection(); 
     // Print data for each item in the view. 
     foreach (SPListItem item in items) 
     { 
      // Print the value of each view field. 
      foreach (string fieldName in viewFields) 
      { 
       SPField field = list.Fields.GetField(fieldName); 
       if (field.Type == SPFieldType.Lookup) 
       { 
        string strValue = item[fieldName].ToString(); 
        string value = new SPFieldLookupValue(strValue).LookupValue; 
        Console.WriteLine("{0} = {1}", fieldName, value); 
       } 
       else 
       { 
        Console.WriteLine("{0} = {1}", fieldName, item[fieldName]); 
       } 
      } 
      Console.WriteLine(); 
     } 
    } 
    } 
    Console.ReadLine(); 
} 
+0

非常感謝Naim。一個小小的改正已經讓這一天! string strValue = list [fieldName] .ToString();應該是字符串strValue = item [fieldName] .ToString(); – sukumarraju

+0

很高興幫助。答案被糾正了。謝謝。 –