ビュー(フィルタ・ソータ)と View の違い
標準機能の「ビュー」(フィルタ・ソータの設定を保持する機能)と、サーバースクリプトの view(View)は、同じ読みですが内部では別の機能として扱われます。確認したソースでは、サーバースクリプトの View にセットしたフィルタ・ソータは、既定のビューや画面上で操作したフィルタ・ソータに上書きで合成されます。 既存のフィルタを消して View の内容だけにしたい場合は、view.ClearFilters() を呼びます。
INFO
1.5.8.1 のソース(ServerScriptUtilities.cs)には、View に何かセットされていると既定のビューや画面上のフィルタ・ソータをすべて無効にする処理はなく、合成される実装になっています。
適用順
ビューと View の適用はどちらもサーバー側で行われ、次の順で処理されます。
図を読み込み中…
各手順の内容は次のとおりです。
1. ビューの保持モードに応じてフィルタ・ソータをセットする
| ビューの保持モード | 処理 |
|---|---|
| 保存しない | 既定のビューがあれば、そのフィルタ・ソータをセットする |
| セッション | セッション中に保持されているビュー情報があればそれをセットする。なければ既定のビューがあればそれをセットする |
| ユーザ | ユーザ毎に永続化されているセッション情報にビュー情報があればそれをセットする。なければ既定のビューがあればそれをセットする |

「ビューの保存種別」で保持モード(保存しない・セッション・ユーザ)を選ぶ
2. サーバースクリプトの View を適用する
確認したソースでは、サーバースクリプトの View は次のように適用されます(ServerScriptUtilities.cs)。
view.ClearFilters()を呼んでいた場合は、手順 1 でセットされたフィルタ(ColumnFilterHashのほか、未完了・自分・期限間近・遅延・期限切れ・検索語)を 削除する(ServerScriptModelView.cs)view.Filtersの各キーを、フィルタに上書き(同じキー)または追加(ないキー)でセットするview.Sortersの各キーを、ソータに上書きまたは追加でセットする。ソータを消すメソッドはないため、手順 1 のソータは残る
View に何もセットされていなければ、手順 1 の結果がそのまま使われます。
WARNING
view.Filters で指定した項目は、利用者が画面で同じ項目に指定したフィルタを上書きします。view.ClearFilters() を呼ぶと、画面で指定したほかの項目のフィルタも消えます。画面操作と併用したい場合は、この挙動を前提に設計してください。
関連ページ
- ダッシュボード — サーバースクリプトの
viewでダッシュボードの一覧にフィルタを適用する例 - context.Condition / context.Action