更新画面ボタンクリック VB Web

マスター更新画面クラス:ボタンクリック処理

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

マスター更新フォーム

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