2017-03-03 22 views
0

私はsharepointオンラインで8000アイテムの大きなリストを持っています。 (しきい値は5000)特定のアイテムからアイテムを取得するリスト内のビュー(シェアポイントオンライン)

このリストのカスタムビューを作成します。 "All Items"はid = 1からid = 4000までの最初のビューで、2番目のビュー "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クエリ(ここではタイトル)で使用している列のインデックスを作成してください。 リスト設定に移動 [列]の下の[インデックス付き列]をクリックします。 新しいインデックスを作成をクリックします。 [主列]でインデックスを作成する列を選択し、[作成]をクリックします。

+0

これは私のために働いた!! CAMLクエリで複数の列を使用すると、同じリスト内のすべての列からインデックスを作成できますか?ありがとう!! –

+0

うれしかった:)。はい、CAMLで使用している列を索引付けできます。このリストには最大20個の索引を入れることができます。 –

関連する問題