ブログ

2025/01/08
【プリザンター】 第280回) 自動ポストバックでのコマンドボタン切替

「自動ポストバック時にコマンドボタンを切り替える」

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

今日は、オンラインマニュアルに記載もあるエディタタブの画面で「自動ポストバック時にコマンドボタンを切り替える」のチェックボックスの挙動について説明します。

「自動ポストバック時にコマンドボタンを切り替える」と聞いても、何ができるのかピンとこないと思います。簡単に言うと、編集画面上で何か項目を変更したことをトリガにポストバックが発生して、コマンドボタンの表示関連を変えることができるというものです。

オンラインマニュアルにもある具体例を実際の画面を見ながら確認していきましょう。

設定および動作

今回、記録テーブルに「タイトル」と「分類A」が設定されているものとします。
「分類A」は選択肢として、[更新可]と[更新不可]の2つが設定されています。
このときに、編集画面で分類Aを「更新不可」に変更したときに、更新ボタンを無効化する設定を行います。

分類Aには、「自動ポストバック」にチェックを入れておいてください。


またエディタタブの「自動ポストバック時にコマンドボタンを切り替える」のチェックも入れておきます。



次に、分類Aの値が「更新不可」だった場合に、画面下の更新ボタンを無効化するサーバスクリプトを以下のように記載します。
条件は「画面表示の前」に設定します。

<サーバスクリプト>


if (model.ClassA === '更新不可') {
// 更新ボタンを無効に設定
elements.DisplayType('UpdateCommand',2);
}



elements.DisplayType は、サーバスクリプトでコマンドボタンの状態を変えるためのものです。
1つ目の引数にコマンドボタン名を指定し、2つ目の引数に状態を数値で以下のように指定します。

elements.DisplayType の2つ目の引数と状態
0:標準/1:無し/2:無効/3:非表示

ここまで設定したら、実際にレコードを登録し、分類Aを変えてみましょう。

分類Aの変更前は以下のような表示です。


分類Aを「変更不可」に変更後、「更新」ボタンが無効化されます。



さて、ここでエディタタブで設定した「自動ポストバック時にコマンドボタンを切り替える」のチェックを外してみましょう。
すると、以下のようにコマンドボタンに変更がありません。

チェックを外すと、分類Aを「更新不可」を選択しても「更新」ボタンが無効化されません。



自動ポストバックが設定されていて、サーバスクリプトで「画面表示の前」に設定されていると、サーバスクリプトが動きそうですが今回のチェックを入れていないとコマンドボタンは動作しないようですね。

ちなみに上記のサーバスクリプトのif文の箇所の判定は行われて、分類Aの値が「更新不可」になっているときには、elements.DisplayType('UpdateCommand',2);も実行しているようですが、上記のチェックがないと動作しないようです。

まとめ

いかがでしたか?

今回、このチェックボックスは何?と思われていそうな機能について説明しました。また少し詳しい方ですと、このチェックを知らずに設定できそうに見えてしまいますので注意が必要ですね。

弊社ではプリザンターをご使用中、または、これからご使用になられる方向けに、運用ノウハウ集、プリザンター逆引き辞典、スタイル・スクリプトサンプル集の販売を行っております。
また、 プリザンターからのExcel帳票出力・PDF帳票出力の支援パック販売 も行っております。
プリザンター導入の支援や、スクリプト開発などの支援も行っておりますので、まずは気軽にご相談ください。
※ご相談の内容によっては有料となる場合がございます。予めご了承ください。
☆☆☆
ブログ内容への質問や追加説明をご希望の方は【 問い合わせフォーム 】からお気軽にお問い合わせください
☆☆☆

お問い合わせ
PAGE TOP