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

head2.gif 7.5.3 製品の削除と復帰
 製品の新規登録処理と編集処理を実装したところで,次に削除と復帰の機能を実装してゆく。

●製品の削除
 FormProductフォーム(Fig.7-67)において,ユーザーが[削除]ボタン(BTN_DELETEボタン)を押したときには,その時点でカレント行が指している製品を削除するものとする。ただし,顧客を削除する処理で実装したのと同様に,1回目の削除ではDELETEDFLAGフィールドの値をTrueにして削除ずみのマークを付けるだけ,2回目の削除で実際のレコードそのものを削除する,という2段階の手順を踏む。

 製品を削除するためには,Business.Productコンポーネントに実装したDeleteProductメソッド(List 6-65)を呼び出せばよい。実際に削除する処理を実装したものが,List 7-75である。

 List 7-75はかなり長いが,製品を削除している箇所は36行目のみである。それ以外の箇所では,削除後にDGrid_Productデータグリッドの内容を更新したり,カレント行を再設定したりしている。削除したときのカレント行の処理については,「●顧客の削除」とほぼ同様なので,改めて解説することはしない。

●製品の復帰
 一度削除ずみにした製品(DELETEDFLAGフィールドの値がTrueである製品)を復活させるためには,Business.Productコンポーネントで実装したUndeleteProductメソッド(List 6-66)を呼び出せばよい。今回のサンプルでは,FormProductフォーム(Fig.7-67)の[復帰]ボタン(BTN_UNDELETEボタン)が押されたときに,削除された製品を復帰させる。その実装は,List 7-76のようになる。

Prev 73/134 Next