マスター更新画面クラス:ボタンクリック処理
マスター更新ページの「得意先検索」ボタンクリック処理、「更新」ボタンクリック処理、「クリア」ボタンクリック処理を実装します。
得意先検索ボタンをダブルクリックすると、"TokuisakiKoshin.aspx.vb" ファイルが開くので、ここに得意先検索ボタンクリック処理を実装します。
【得意先検索ボタンクリック処理】
ClsTokuisakiクラスのインスタンスを生成して、そのプロパティから得意先名・郵便番号・住所を取得し、テキストボックスのTextプロパティにセットする。
得意先コードと得意先検索ボタンのEnabledプロパティをFalse、得意先名・郵便番号・住所・更新ボタン・クリアボタンのEnabledプロパティをTrueに設定し、メッセージLblMessageのTextプロパティを初期化後、得意先コードにフォーカスを設定する。
得意先データ管理クラスClsTokuisakiクラスは、データベースの知識がなくても実装できます。
- 得意先データ管理クラスClsTokuisakiクラスの実装
【更新ボタンクリック処理】
得意先更新クラスClsUpdateTokuisakiのインスタンスを生成し、更新する得意先コードを引数に指定して、UpdateRecord()メソッドを呼び出す。正常に更新されたときは、フォーム(画面)初期化処理を呼び出して、画面を初期化し、正常完了メッセージをLblMessageに表示する。
エラーがあれば、例外がスローされるので、例外をキャッチして、エラーメッセージをLblMessageに表示して、フォーカスをエラー項目に設定する。
【クリアボタンクリック処理】
フォーム(画面)を初期状態に戻す。
更新フォームfソースリスト:TokuisakiKoshin.aspx.vb
Partial Class TokuisakiKoshin Inherits System.Web.UI.Page '******************************************************* ' 得意先検索ボタンクリック処理 '******************************************************* Protected Sub BtnKensaku_Click(sender As Object, e As EventArgs) Handles BtnKensaku.Click Try Dim tokuisaki As New ClsTokuisaki(TxtTokuisakiCode.Text) TxtTokuisakiMei.Text = tokuisaki.TokuisakiMei TxtTokuisakiYubinBango.Text = tokuisaki.YubinBango TxtTokuisakiJusho.Text = tokuisaki.TokuisakiJusho LblMessage.Text = Nothing TxtTokuisakiCode.Enabled = False TxtTokuisakiMei.Enabled = True BtnKensaku.Enabled = False TxtTokuisakiYubinBango.Enabled = True TxtTokuisakiJusho.Enabled = True BtnKoshin.Enabled = True BtnClear.Enabled = True TxtTokuisakiMei.Focus() Catch ex As TokuisakiCodeException ' 得意先コード例外が発生した時の処理 LblMessage.Text = ex.Message End Try End Sub '******************************************************* ' 更新ボタンクリック処理 '******************************************************* Protected Sub BtnKoshin_Click(sender As Object, e As EventArgs) Handles BtnKoshin.Click Try ' 画面からの修正データのセット Dim tokuisaki As New TokuisakiData tokuisaki.tCode = TxtTokuisakiCode.Text tokuisaki.tName = TxtTokuisakiMei.Text tokuisaki.tYuBango = TxtTokuisakiYubinBango.Text tokuisaki.tJusho = TxtTokuisakiJusho.Text ' 得意先マスター表を更新【次回114号実装】 'Dim update As New ClsUpdateTokuisaki(tokuisaki) 'update.InsertRecord() ' 画面初期設定 ClearForm() ' 正常終了メッセージ LblMessage.Text = "正常に得意先データが更新されました" TxtTokuisakiCode.Focus() Catch ex As TokuisakiMeiException ' 得意先名エラー LblMessage.Text = ex.Message TxtTokuisakiMei.Focus() Catch ex As YubinBangoException ' 得意先郵便番号エラー LblMessage.Text = ex.Message TxtTokuisakiYubinBango.Focus() Catch ex As TokuisakiJushoException ' 得意先住所エラー LblMessage.Text = ex.Message TxtTokuisakiJusho.Focus() Catch ex As DBIOException ' DBアクセスクラス独自例外発生時 LblMessage.Text = ex.Message Catch ex As Exception ' その他例外発生時 LblMessage.Text = ex.ToString End Try End Sub '******************************************************* ' フォーム初期設定処理 '******************************************************* Private Sub ClearForm() TxtTokuisakiCode.Text = Nothing TxtTokuisakiCode.Enabled = True BtnKensaku.Enabled = True TxtTokuisakiMei.Text = Nothing TxtTokuisakiMei.Enabled = False TxtTokuisakiYubinBango.Text = Nothing TxtTokuisakiYubinBango.Enabled = False TxtTokuisakiJusho.Text = Nothing TxtTokuisakiJusho.Enabled = False BtnKoshin.Enabled = False BtnClear.Enabled = False LblMessage.Text = Nothing End Sub '******************************************************* ' クリアボタンクリック処理 '******************************************************* Protected Sub BtnClear_Click(sender As Object, e As EventArgs) Handles BtnClear.Click ClearForm() End Sub End Class