从阈值列表中的特定视图(SharePoint Online)获取项目



我在SharePoint Online上有一个带有8000个项目的大列表。(阈值是5000)

我为此列表创建自定义视图。"所有项目"是从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);
            }
        }
    }

请尝试索引您在CAML查询中使用的列(此处为标题)。转到列表设置在列下,单击"索引列"。单击创建新索引。在主列下方选择要索引的列,然后单击创建。

最新更新