Sharepoint 2010 获取SPList项列标题和列数据,包括SPLookupFieldValue

Sharepoint 2010 获取SPList项列标题和列数据,包括SPLookupFieldValue,sharepoint-2010,Sharepoint 2010,下面的“源”仅打印SPList第一页上的列表项。不在其他页面(即第2页、第3页等)中打印ListItems数据 此外,还需要打印SPLookupFieldValue,而不是建议某些链接。非常感谢对以下源代码进行的任何修改,以满足要求 static void Main(string[] args) { using (SPSite site = new SPSite("http://intranet.contoso.com")) { using (SPWeb web

下面的“源”仅打印SPList第一页上的列表项。不在其他页面(即第2页、第3页等)中打印ListItems数据

此外,还需要打印SPLookupFieldValue,而不是建议某些链接。非常感谢对以下源代码进行的任何修改,以满足要求

 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();
}
Country列为Lookup,因此数据将打印ID和值。只需要打印值。 产品=电视 国家=2#英国
产品=汽车
国家=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();
}

非常感谢你,奈姆。一个小小的修正就让这一天变好了!!字符串strValue=list[fieldName].ToString();应为字符串strValue=item[fieldName].ToString();