AllowFiltering="true"(ReactでallowFiltering)を設定すると、グリッドのツールバーにフィルターボタンが付与され、FetchXMLクエリビルダー内でビューのフィルターが開かれ、ユーザーが変更できます。FetchXMLがフィルターできるものは何でも構築可能です:テーブルのカラムの条件(ANDとORでグループ化)、値や他の列との比較、関連するテーブル(関連レコードの存在や独自の条件の一致にかかわらず)。ユーザーが読むことができる列や関連テーブルのみが提供され、サーバーはそれ以外のフィルターを拒否します。ユーザーのフィルターはグリッドにビューが表示される間は続きます:別のビューが自分のビューから始まります。
ツールバーの フィルター ボタンを押してください。ダイアログはグリッドに表示されるビューのフィルターで開きます。 「すべての連絡先 」には独自のフィルターがありません。連絡先テーブルの行の安全性は、あなたが読む可能性のある連絡先へのすべてのクエリを保持しているため、空のまま開き、あなたの連絡先に対応できます。 「Companies」の「都市を持つ会社 」は、会社が都市を持つ者を、関連するテーブルを通じて独自の条件で保持します。それらを変更し、「 適用」を押すと、グリッドは最初のページから一致する行を表示します。フィルターボタンはフィルターがあなたのものであることを示すために満たされます。試してみること:
アクティブオーナーの連絡先 は、所有者のユーザーアカウントが有効になっている連絡先を、関連するテーブル(システムユーザー)を通じて保持しますが、デモでは訪問者にはアクセスできません。すべての連絡先(フィルターが省略されている)や全く表示しない(関連するテーブルが行に一致しない)を表示するのではなく、グリッドがフィルタリングできないテーブルを示し、開発者がユーザーにアクセスを与えたり表示を変更したりできます。 フィルター ダイアログを開き、所有者を連れて行を見ると、ダイアログはビューの関連テーブルを表示しますが、システムユーザーを追加することはできません。内部ユーザーがデモにサインインし、その自身のDataverseセキュリティロールが何を読み取るかを決定しますが、行は見えます。