2017-03-03 68 views
0

我在SharePoint上有一个包含8000个项目的大型列表。 (阈值为5000)获取特定视图中的项目阈值列表(Sharepoint在线)

我为此列表创建自定义视图。 “所有项目”是第一个视图,其中id = 1直到id = 4000,第二个视图为“所有项目2”,其中有另一个id(4001-8000)。

我创建了这个视图我可以在这个大列表中搜索,但我无法找到如何只能在第一个视图中搜索。

当我运行所有的列表我得到下面的异常CAML查询:因为它超出了列表视图 门槛由管理员强制禁止

尝试的操作。

我该如何管理我的清单?谢谢。

void FindTest(ClientContext context, string email) 
    { 
     using (context) 
     { 
      try 
      { 
       Web web = context.Web; 

       Microsoft.SharePoint.Client.List list = context.Web.Lists.GetByTitle("BigDataList"); 
       context.Load(list); 
       context.ExecuteQuery(); 
       View view = list.Views.GetByTitle("All Items"); 

       context.Load(view); 
       context.ExecuteQuery(); 
       CamlQuery query = new CamlQuery(); 
       query.ViewXml = @"<View> 
     <Query> 
     <Where><Eq><FieldRef Name='Title' /><Value Type='Text'>" + email + "</Value></Eq></Where></Query><ViewFields><FieldRef Name='Title' /></ViewFields></View>"; 


       Microsoft.SharePoint.Client.ListItemCollection items = list.GetItems(query); 
       context.Load(items); 
       context.ExecuteQuery(); 

       Console.WriteLine(view.Title); 
       Console.WriteLine(items.Count); 


      } 
      catch (Exception ex) { 
       MessageBox.Show(ex.Message); 
      } 

     } 

    } 

回答

1

请尝试索引您在CAML查询(此处标题)中使用的列。 转到列表设置 在列下,单击“索引列”。 点击创建一个新的索引。 在主列下选择您想索引的列,然后单击创建。

+0

这对我有效!如果我在CAML查询上使用多个列,我可以从同一列表中的所有列创建索引吗?谢谢 !! –

+0

很高兴帮助:)。是的,您可以索引您在CAML中使用的列。此列表中最多可以有20个索引。 –

相关问题