この特集のトップページへ
>
Chapter 7:プレゼンテーション層の構築
●メニュー選択によって請求書管理用のフォームが開くようにする
FormBillフォームを作ったら,ユーザーがアプリケーションのメニューから[表示]−[請求書情報]を選択したときに,FormBillフォームが開くようにする。それには,[表示]−[請求書情報]に対応するMenu_BillのClcikイベントを処理するように実装すればよい(メニュー項目については,Table 7-27を参照)。その実装をFormMainフォーム(Fig.7-1)にList 7-178のとおり実装する。
ところで,「6.6 請求書の処理」で述べたとおり,すべての請求書の情報はAllAdmin,Accounting,AccountingAdminといういずれかのロールに属さなければ参照できないようにしている。そこで,もしアプリケーションをロードしたユーザーが,AllAdmin,Accounting,AccountingAdminといういずれのロールにも属さなかった場合には,メニューの[表示]−[請求書情報]を淡色表示し,選択できないようにしてしまうことにする。そのための処理を,FormMainフォーム(Fig.7-1)にList 7-179のように実装する。
請求書情報が,AllAdminロール,Accountingロール,AccountingAdminロールに属するユーザーだけしか参照できないというのは,仕様として問題があると思われる読者もいるだろう。確かに,請求書は営業部の人間が顧客に渡すこともあり得る。その点では,Sales,SalesManager,SalesAdminといういずれかのロールに属するユーザーであれば,請求書を参照できるようにしたほうがよいのかもしれない。しかし,この問題はアプリケーションのロジックの問題ではなく,業務形態あるいは組織ごとの作業分担ポリシーに基づく問題なので,本連載では特に修正せず,このまま話を進めさせていただく。
●フォームのサイズに部品を揃える
次に,フォームの大きさがユーザーによって調整されたとき,そのフォームの大きさに合わせてコンポーネントの位置やサイズを調整するように,FormBillフォーム(Fig.7-105)にList 7-180の処理を実装しておく。
122/134 |