検索条件項目をチェックボックスで選べるようにする

最終更新日: 2024年12月27日

動作例

検索ボタンが表示される欄に「任意検索項目を選択」という入力欄が用意されます。

任意検索項目を選択

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

追加したい検索項目をチェックボックスで選ぶことができる

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

追加したい検索項目を指定する

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

指定した検索項目が表示された

設定方法

wbSelectedArbitraryConditionItemId項目を含める

この機能を利用したいモデルに "wbSelectedArbitraryConditionItemId" という項目を追加してください。項目IDはこの通りとします。この項目に、任意検索項目で表示した検索項目の項目IDをカンマ区切りで保持します。

必ず検索項目に含めてください。(一覧項目には含めないでください。)

wbSelectedArbitraryConditionItemId項目を追加する

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

データベースに保存しない

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

入力画面に表示させない

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

出力画面に表示させない

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

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

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レイアウトで動作します。