マスター更新画面クラス:ボタンクリック処理
マスター更新ページの「得意先検索」ボタンクリック処理、「更新」ボタンクリック処理、「クリア」ボタンクリック処理を実装します。

得意先検索ボタンをダブルクリックすると、"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