トピックス

知識創造研究室 by CRM(xRM)

レコードの状態によってボタンの表示・非表示を切り替えてみよう

冬も明けてだいぶ暖かくなりましたね!
木村です!

こいつ誰だと思った方・・・木村です!

・・・

早速ですが、今回お話しするのは、私が今までの作業ではまってしまった、
コマンドバーのボタンをレコードの状態(アクティブ・非アクティブ)によって、ボタンの表示、非表示を切り替える機能を作っていこうと思います!
今回はこのボタンを切り替えます。

ただ、処理を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でのコマンドバーの編集方法を紹介しようと思います!

この記事を書いた人
木村 惇

体の怪我を理由に様々な職を転々とし、IT業界へ転職。
周りについていくのに必死ですが、何とか食らいついています。
日々頑張って勉強していきます。

同じカテゴリの記事

Translate »