0

バックグラウンド:

クライアント オブジェクト モデルを介して SharePoint にアクセスするカスタム アプリケーションを開発しています。このアプリケーションは、OM (オブジェクト モデル) を使用して SharePoint で定義された ECT (外部コンテンツ タイプ) リストにアクセスする必要があります。このアプリケーションは、ほとんどの SharePoint のインストールと構成で使用できる製品であり、外部リストの事前知識は必要ありません。

ECT にフィルターが設定されていない場合、SharePoint はリスト内の使用可能なすべてのアイテムを返します (数がしきい値を下回っている場合)。この ECT のフィルターを定義すると、SharePoint は、このフィルターが適用された後のアイテムのみを返します (おそらく SP の正しい動作)。

問題:

ユーザーが検索ボックスに入力したテキストに基づいて、この ECT リスト (フィルター処理されていない) を検索できる必要があります。現時点では、呼び出し元のオブジェクトに値を返すときに SharePoint が適用するフィルターを変更する方法はないようです。

つまり、私の ECT リストには 10 個の項目 (1,2,3…10) があります。各項目には 3 つの列 (ID、名前、説明) があります。ECT リストのフィルターを設定した後、SharePoint にアイテムのリストを要求すると、SharePoint はアイテム 2、3、および 6 を返します。

いいえ、ユーザーはアイテムの説明に一致する検索を行いません 7. リストを検索/フィルタリングして、検索クエリに一致するアイテムを返すにはどうすればよいですか?

私はこれを解決しようと輪になって走ってきましたが、何もうまくいかないようです。http://pholpar.wordpress.com/2011/02/09/how-to-query-external-lists-on-the-client-side-usingの両方で定義されているように、CAML クエリと LoadQuery を設定してみました-caml/およびhttp://msdn.microsoft.com/en-us/library/ff464384.aspxしかし、何も機能していないようです。

4

1 に答える 1

1

私でさえこの問題を抱えていました。これを行う方法はありません。サーバー オブジェクト モデルでも、既定のビューのフィルターを変更するオプションがありましたが、フィルターが適用されると、SPList は 0 アイテムを返します。おもしろいのは、コードを実行して SP UI でリストを開くと、実際に変更されたリストが表示されることです。ただし、オブジェクト モデル内のクエリを同じにすることはできません。

奇妙に見えます。このインスタンスで SPList (ECT ベース) を変更すると、次のインスタンスでのみ結果を取得できると思います (次のページの更新など)。

于 2012-05-07T11:06:41.870 に答える