検索条件項目をチェックボックスで選べるようにする
最終更新日: 2024年12月27日
初期状態で検索項目を非表示とし、チェックボックスで選択することで検索項目が表示される機能を提供します。9.3.0
動作例
検索ボタンが表示される欄に「任意検索項目を選択」という入力欄が用意されます。

追加したい検索項目をチェックボックスで選べるインターフェースになっています。

ここではすべての項目をチェックしてみます。

検索欄にこれらの項目が表示されます。つまり、検索条件項目の表示/非表示を切り替えています。

設定方法
wbSelectedArbitraryConditionItemId項目を含める
この機能を利用したいモデルに "wbSelectedArbitraryConditionItemId" という項目を追加してください。項目IDはこの通りとします。この項目に、任意検索項目で表示した検索項目の項目IDをカンマ区切りで保持します。
必ず検索項目に含めてください。(一覧項目には含めないでください。)

この項目はデータベースに保存しません。

この項目は入力画面にも表示させません。隠し&読み込み専用とします。

同様に出力画面にも表示させません。隠し項目とします。

検索画面でも隠し項目とします。

JavaScriptコードを用意する
JavaScriptのカスタマイズコードを作成します。ファイル名は MyShowList<モデルID>.js とします。customize/webapp/<モデルID> フォルダに保存してください。
内容は次のとおりとします。
require(["wagby/CheckedMultiSelect", "dijit/registry", "dojo/dom", "dojo/dom-attr", "dojo/dom-style", "dojo/query", "dojo/ready"], function(CheckedMultiSelect, registry, dom, domAttr, domStyle, query, ready) {
const modelId = "JSHCUSTOMER";
// 任意検索項目の設定を行なう
setArbitaryConditionItems(CheckedMultiSelect, modelId, [
"CUSTOMERNAMEKANA",
"COMPANYNAME",
"MEETDAY"
]);
});
- modelIdという変数を用意します。モデルIDを指定します。
- setArbitaryConditionItems関数を呼び出します。一番目の引数 CheckedMultiSelect は UI でチェックした項目が入ります。二番目の引数は上で指定した変数です。三番目の引数は任意項目としたモデル項目IDを指定します。(これらは検索条件の項目である必要があります。検索条件でない項目を指定するとエラーとなり、正しく画面表示されません。)
仕様・制約
- この設定はCSSレイアウトで動作します。