マスター追加画面クラス:ボタンクリック処理
マスター追加ページの「住所検索」ボタンクリック処理、「追加」ボタンクリック処理と、「クリア」ボタンクリック処理を実装します。
住所検索ボタンをダブルクリックすると、"TokuisakiJusho.aspx.vb" ファイルが開くので、ここに得意先住所検索ボタンクリック処理を実装します。
【得意先住所検索ボタンクリック処理】
入力された郵便番号を引数に指定し、郵便番号データ管理クラスClsYubinBangoのインスタンスを生成します。都道府県名プロパティから都道府県名、市区町村名プロパティから市区町村名、町域名プロパティから町域名を取得し、都道府県名、市区町村名、町域名を連結し住所テキストボックスにセットする。
郵便番号データクラスは、まず基本クラス(基底クラス)ClsYubinBangoBaseに、郵便番号マスター表の選択・更新・削除・追加で共通の定数メンバー、変数メンバー、プロパティ、郵便番号チェックメソッドを抽象クラスとして実装する。
派生クラス(選択・更新・削除処理用)ClsYubinBangoは、コンストラクタと読取専用の郵便番号プロパティを実装する。
Setプロパティは、使わないので省略しました。
- 郵便番号データ管理基本クラスClsYubinBangoBaseの実装
- 郵便番号データ管理派生クラスClsYubinBangoの実装
【追加ボタンクリック処理】
入力データにエラーがなければ、得意先マスター表に 1レコードを追加します。正常にレコードが追加されたら、追加正常完了のダイアログボックスを表示し、入力画面を初期化します。
【クリアボタンクリック処理】
フォーム(画面)を初期状態に戻す。
追加フォームfソースリスト:TokuisakiTsuika.aspx.vb
Partial Class TokuisakiTsuika Inherits System.Web.UI.Page '******************************************************* ' 住所検索ボタンクリック処理 【116号掲載済み】 '******************************************************* Protected Sub BtnKensaku_Click(sender As Object, e As EventArgs) _ Handles BtnKensaku.Click Try ' 県名・市町村名・町域名を取得し画面に表示 Dim yubinBango As New ClsYubinBango(TxtYubinBango.Text) TxtTokuisakiJusho.Text = yubinBango.TodofukenMei & yubinBango.ShikuchosonMei & yubinBango.ChoikiMei ' 住所にフォーカス TxtTokuisakiJusho.Focus() Catch ex As YubinBangoException ' 郵便番号エラー処理 LblMessage.Text = ex.Message ' 郵便番号にフォーカス LblMessage.Text = ex.Message Catch ex As DBIOException LblMessage.Text = ex.Message Catch ex As Exception ' その他例外発生時 LblMessage.Text = ex.ToString End Try End Sub '******************************************************* ' 追加ボタンクリック処理 '******************************************************* Protected Sub BtnTsuika_Click(sender As Object, e As EventArgs) _ Handles BtnTsuika.Click Try ' 画面からの入力データのセット Dim tokuisakiData As TokuisakiData tokuisakiData.tCode = TxtTokuisakiCode.Text tokuisakiData.tName = TxtTokuisakiMei.Text tokuisakiData.tYuBango = TxtTokuisakiYubinBango.Text tokuisakiData.tJusho = TxtTokuisakiJusho.Text ' 得意先マスター表に1レコードを追加 Dim insertTokuisaki As New ClsTokuisakiTableIO() insertTokuisaki.InsertRecord(tokuisakiData) ' フォーム初期化 ClearForm() ' 正常終了メッセージ LblMessage.Text = "正常にレコードが追加されました" TxtTokuisakiCode.Focus() Catch ex As TokuisakiCodeException ' 得意先コードエラー LblMessage.Text = ex.Message 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 DBIOException ' DBアクセスクラス独自例外発生時 LblMessage.Text = ex.Message Catch ex As Exception ' その他例外発生時 LblMessage.Text = ex.ToString End Try End Sub '******************************************************* ' クリアボタンクリック処理 '******************************************************* Protected Sub BtnClear_Click(sender As Object, e As EventArgs) _ Handles BtnClear.Click ' フォーム初期化 ClearForm() End Sub '******************************************************* ' フォーム初期設定処理 '******************************************************* Private Sub ClearForm() TxtTokuisakiCode.Text = Nothing TxtTokuisakiCode.Focus() TxtTokuisakiMei.Text = Nothing TxtTokuisakiYubinBango.Text = Nothing TxtTokuisakiJusho.Text = Nothing LblMessage.Text = Nothing End Sub End Class