我在sharepoint online上有一个包含8000个项目的大型列表 . (门槛是5000)
我为此列表创建了自定义视图 . “所有项目”是第一个视图,其中从id = 1到id = 4000,第二个视图“All Items2”,其中有另一个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查询中使用的列(此处为 Headers ) . 转到列中的列表设置,单击“索引列” . 单击“创建新索引” . 在“主要”列下,选择要编制索引的列,然后单击“创建” .