レコードの状態によってボタンの表示・非表示を切り替えてみよう
冬も明けてだいぶ暖かくなりましたね!
木村です!
こいつ誰だと思った方・・・木村です!
・・・
早速ですが、今回お話しするのは、私が今までの作業ではまってしまった、
コマンドバーのボタンをレコードの状態(アクティブ・非アクティブ)によって、ボタンの表示、非表示を切り替える機能を作っていこうと思います!
今回はこのボタンを切り替えます。
ただ、処理を1から作るのではなくて、とっても便利なツールを使って今回はボタンの表示非表示の機能を作成します。
Ribbon Workbenchを使う
このブログでも度々取り上げられているかと思いますが、
Ribbon Workbenchを使ってボタンの表示、非表示の機能を作成します。
では実際にやっていきましょう!
実践!
まずはRibbon Workbenchで編集対象のエンティティが格納されているソリューションを開きましょう。
まず、今回表示、非表示を制御するボタンをクリックして選択します。
※今回は既にボタンは追加されている前提で説明を行います。
画面左下のCOMMANDSの右側に表示されている「+」ボタンをクリックします。
COMMANDSでボタンの制御の処理を追加出来ます。
続いて、DISPLAY RULE内のAdd Stepをクリックします。
Add Stepをクリックすると、様々なコマンドが表示されますが、
レコードの状態によってボタンを制御するには、FormStateRuleで制御を追加します。
DISPLAY RULEに新たなコマンドが追加されました。
Stateの右に配置されている下矢印をクリックします。
選択肢の中からレコードの状態を制御するExistingを選択します。
DefaltにはTrueを、InvertResultにはFalseを選択します。
Defaltはアクティブ時の動きを指し、Falseが非アクティブ時の動きのことを表しています。
では、Buttonに戻り、COMMANDを編集しましょう。
CommandにCOMMANDSのId名を選択し、CommandCoreにはCOMMANDSのId名を直接入力します。
※CommandCoreにCOMMANDSのId名が入力されていないと、画面にボタンが表示されないので忘れずに入力しましょう!
これでコマンドバーの準備は完了です!
あとはPublishをクリックして更新したら・・・オシマイだ!
結果は・・・
最初に見ていたレコードを再読み込みしてから、レコードを非アクティブにすると…
なんということでしょう!ボタンが表示されなくなりました!
この方法でボタンの表示、非表示を制御することが可能になります。
次回はXMLでのコマンドバーの編集方法を紹介しようと思います!