ブログ

2023/04/06
【プリザンター】 第184回)選択肢変更時の不要な選択肢の対処について

選択肢の変更について

こんにちは、CCS田中です。

プリザンターでは分類項目はよく使われるのではないでしょうか?
選択肢にIDを付けて管理されている方もいると思います。例えば部署名を選択肢に設定していて、部署名が変わったときにIDは変更せずに名称だけを変更するということも行っていると思います。ただ、この場合は過去の部署名も変更されてしまうので注意が必要です。
過去の部署名はそのままとしておき、新しい部署名を追加する方法もありますが、その場合は過去の部署名が選択されてしまう場合があります。かといって、古い部署名を選択肢から消してしまうと、古い部署名を使用していたレコードで「?古い部署名」のように表示されてしまうのも嫌ですよね。

そこで今回は、このようなケースに対応する方法を説明いたします。

選択肢に不要な選択肢を表示させない方法

今回の件は、不要な選択肢を設定上は残しておいて、ユーザがレコードを作成や編集するときに見えなくすれば解決します。
具体的に何をすればよいかというと、スタイルで不要な選択肢を非表示に設定します。

単に選択肢から、「何番目」や「最初」、「最後」など決まった項目を非表示にするだけであれば以下のようなスタイルで対応可能です。
(記録テーブルの分類Aの選択肢の一部を非表示にする場合、●は何番目の要素を非表示にするかを数値で指定)

<選択肢を一部非表示にするスタイル>


#Results_ClassA option:nth-child(●) {
display: none;
}


ただし、この場合は選択肢が増えたり減ったりすると、スタイルを書き換える必要があるため面倒です。
今回は部署名の変更ということで、変更になった部署名の旧部署には「旧)」と部署名の頭に付けるルールとして説明します。
まずは以下の手順で、変更になった部署名の旧部署に「旧)」を付ける手順です。

1.対象のテーブルを開き、メニューから「管理」→「テーブルの管理」を開きます。
2.「エディタ」タブを開き、該当の分類項目を選択して、「詳細設定」をクリックします。
3.「一括更新を許可」にチェックを入れます。
4.選択肢に新しい部署名を追加します。(古い部署名はそのまま)※下図参照
5.一覧画面に戻って、旧部署名でフィルタリングします。
6.一覧の左上のチェック(全チェック)にチェックを入れます。
7.「一括更新」ボタンをクリックします。
8.変更後の部署名(新部署名)を選択して、「一括更新」をクリックします。
9.上記の、1,2を実行します。
10.古い部署名の頭に「旧)」をつけて、「更新」ボタンをクリックします。
11.「更新」ボタンをクリックします。

<選択肢の設定画面>


ここまで実施した後に、スクリプトを作成します。
タイトルは「旧部署選択肢の非表示」などとしておくとわかりやすいです。
以下を記載して下さい。出力先は[新規作成]と[編集]にチェックを入れます。
スクリプトが適用されると、下図のように選択肢に旧部署が表示されなくなります。

<選択肢を一部非表示にするスクリプト>

$p.events.on_editor_load = function () {
 $("#Results_ClassA option:contains('旧)')").css("display","none");
}


※「旧)」のカッコは全角で指定しておくと混乱が少ないです。

<設定後に表示される選択肢>

まとめ

いかがでしたか?


プリザンターの分類項目は便利に使えますが、今回のような使い方を知っていると、さらに幅広く使えると思います。ぜひ試してみてください。

弊社ではスタイル・スクリプトサンプル集、プリザンター逆引き辞典のほかにも、運用ノウハウ集、Dockerを使った構築、PDF帳票出力支援パックの販売もございます。また、導入の支援や、スクリプト開発なども支援いたします。

ご相談の内容によっては有料となる場合がございますが、まずは気軽にご相談ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

PAGE TOP