C#客户端对象

C#客户端对象,c#,object,sharepoint,client,C#,Object,Sharepoint,Client,我想将特定SharePoint列表读入数据表。我正在努力读取查找值。 例子: 客户列表,每个客户被分配给一个团队成员。团队成员是团队成员列表的查找 我有以下问题: 1.)如何获取链接到此查找字段的列表的信息? 2.)如何读取字段、获取值或索引 我在下面添加了我的功能,非常感谢您帮助一个绝望的SharePoint新手 问候 沃尔克 public System.Data.DataTable ReadDatafromSPList(ClientContext clientContext, stri

我想将特定SharePoint列表读入数据表。我正在努力读取查找值。 例子: 客户列表,每个客户被分配给一个团队成员。团队成员是团队成员列表的查找

我有以下问题: 1.)如何获取链接到此查找字段的列表的信息? 2.)如何读取字段、获取值或索引

我在下面添加了我的功能,非常感谢您帮助一个绝望的SharePoint新手

问候

沃尔克

   public System.Data.DataTable ReadDatafromSPList(ClientContext clientContext, string ListName, string ViewName)
    {
        Web site = clientContext.Web;
        List list = site.Lists.GetByTitle(ListName);
        View view = list.Views.GetByTitle(ViewName);
        ViewFieldCollection viewFields = view.ViewFields;
        clientContext.Load(view);
        clientContext.ExecuteQuery();
        CamlQuery camlQuery = new CamlQuery();
        camlQuery.ViewXml = view.ViewQuery;

       ListItemCollection ListColletion = list.GetItems(camlQuery);
        clientContext.Load(list);
        clientContext.Load(ListColletion);
        clientContext.Load(viewFields);
        clientContext.ExecuteQuery();

       string[] headers  = view.ViewFields.ToArray();
       System.Data.DataTable dTable = new System.Data.DataTable();
       foreach (string header in headers)
           {
                dTable.Columns.Add(header);
           }

        string str="";

       foreach (ListItem item in ListColletion)
         {
               dTable.Rows.Add(dTable.NewRow());
              foreach (string header in headers)
              {
                  try
                  {
                      str = item[header].ToString();
                      if (str == "Microsoft.SharePoint.Client.FieldLookupValue")
                      {
                        //??????????????????

                       //??????????????????
                      }
                      dTable.Rows[dTable.Rows.Count - 1][header] = str;
                  }
                  catch
                  {
                      dTable.Rows[dTable.Rows.Count - 1][header] = "";
                  }
              }
           }
      return    dTable;
    }
试试这个

ClientContext context = new ClientContext(ServerText.Text);
List list = context.Web.Lists.GetByTitle("Tasks");
CamlQuery query = new CamlQuery();
query.ViewXml = "<View/>";
ListItemCollection items = list.GetItems(query);
context.Load(list);
context.Load(items);
context.ExecuteQuery();
DataTable table = new DataTable();
table.Columns.Add("Id");
table.Columns.Add("Title");
foreach (ListItem item in items)
table.Rows.Add(item.Id, item["Title"]);
ClientContext=newclientcontext(ServerText.Text);
List List=context.Web.Lists.GetByTitle(“任务”);
CamlQuery query=新建CamlQuery();
query.ViewXml=“”;
ListItemCollection items=list.GetItems(查询);
加载(列表);
上下文。加载(项目);
context.ExecuteQuery();
DataTable=新的DataTable();
表.列.添加(“Id”);
表.列.添加(“标题”);
foreach(项目中的列表项目)
table.Rows.Add(item.Id,item[“Title”]);