この特集のトップページへ
Chapter 7:プレゼンテーション層の構築

7.5.2 製品の新規登録と編集
●[新規]ボタン,[編集]ボタンが押されたときの処理
 では最後に,FormProductフォーム(Fig.7-67)でユーザーが[新規]ボタンならびに[編集]ボタンを押したときの処理を実装する。

○[新規]ボタンが押されたときの処理
 まずは,[新規]ボタンが押されたときの処理を実装する。この処理は,先にList 7-69で実装しておいたFormEditProductフォームのNewProductプロシージャを呼び出してから,FormEditProductフォームをモーダル表示すればよい。そして,FormEditProductフォームがユーザーによって閉ざされ,制御がFormProductフォーム側に戻ってきた時点で,追加された製品がDGrid_Productデータグリッドに表示されるようにDGrid_Productデータグリッドの表示内容を更新するという処理をすればよい。実際にこの処理を実装したものが,List 7-73である。

 List 7-73ではまず,4行目でFormEditProductフォームのNewProductプロシージャ(List 7-69)を呼び出す。これにより,FormEditProductフォームのテキストボックスの内容が初期化される。その後,5行目でFormEditProductフォームをモーダル表示にしている。

 7行目以降の処理は,DGrid_Productデータグリッドの内容を更新するための処理である。9行目でRefreshDataプロシージャ(List 7-64)を呼び出して,ビジネスロジックから取得したADODB.RecordsetオブジェクトをDGrid_Productデータグリッドに再設定したのち,追加した製品にカレント行を合わせるという処理をしている。

○[編集]ボタンが押されたときの処理
 [編集]ボタンが押されたときの処理も,[新規]ボタンが押されたときの処理とほぼ同等である。その時点でカレント行が指しているレコードの製品番号を伴ってFormEditProductフォームのEditProductプロシージャ(List 7-70)を呼び出し,その後,FormEditProductフォームをモーダル表示にすればよい。そして,ユーザーによってFormEditProductフォームが閉ざされ,FormProductフォーム側に制御が戻ってきたときには,編集した製品をDGrid_Productデータグリッドに反映させるためにDGrid_Productデータグリッドの表示内容を更新する。この処理を実際に実装したものが,List 7-74である。

Prev 72/134 Next