ダウンロード サンプルファイル (2.8 MB)
画面遷移とイベントの発生順
本連載では、各画面をMultiViewコントロール「mtvw」のViewにより実現し、各Viewには、前後のViewへ移動する目的のButtonコントロールを配置しています。
| 画面の内容 | ViewのID | ViewIndex | 進むボタンのID | 戻るボタンのID |
| 検索条件設定画面 | vwSearch | 0 | btnSearch | btnBackMenu(*1) |
| 対象会員選択画面 | vwTarget | 1 | btnDirect | btnBackSearch |
| 項目選択指示画面 | vwDirect | 2 | btnVerify | btnBackTarget |
| 選択指示確認画面 | vwVerify | 3 | btnUnify(*2) | btnBackDirect |
名寄せ処理画面を呼び出した元のメニュー画面に戻る。
名寄せ処理を実行した上、vwTargetに戻る。
以降、vwDirect/vwVerifyビュー内の表をそれぞれ「指示表」/「確認表」と呼ぶことにしますが、これらはPreLoadイベント内で用意しないといけません。
用意するタイミングは、それぞれbtnDirect/btnVerifyクリック時ですが、PreLoadイベントはボタンのクリックイベントの前に発生してしまいます。
PreLoadイベントでは、ActiveViewIndexにより移動前のViewは把握できますが、クリックされたButtonを特定できないため、移動後のViewが把握できません。どのViewに移動してもいいように、各Viewでのコントロールは用意しておきます。
また、実際には不要なエラーチェックも行う必要があるため、PreLoad後に発生する「戻る」ボタンのクリックイベントでは、無条件にエラーメッセージをクリアします。
イベントに応じたSession変数の扱い
画面切り替え時に受け渡すデータとして「名寄せ対象会員IDの配列(aryMemberID())」と「動的に生成したTableコントロール(tblUnify)」とがあります。これらは、Session変数(Session("aryMemberID()")とSession("tblUnify"))を使って引き継ぎます。
すべてのボタンクリックに先立って発生するPreLoadイベント内では、上記のSession変数の有無に応じた処理をするため、設定/クリアするタイミングを整理しておきます。
| ViewID(Index) | イベント | Session("aryMemberID") | Session("tblUnify") |
| vwSearch(0) | Activate | クリアする | クリアする |
| vwTarget(1) | PreLoad | 設定する(*3) | なければ設定する(*4) |
| vwTarget(1) | Activate | クリアする | クリアする |
| vwDirect(2) | PreLoad | ー | なければ設定する(*4) |
| vwDirect(2) | btnVerify.Click | ー | 読み込んで処理する |
| vwVerify(3) | PreLoad | ー | なければ設定する(*4) |
| vwVerify(3) | btnBackDirect.Click | ー | 読み込んで処理する |
| vwVerify(3) | btnUnify.Click | ー | 読み込んで処理する |
GridViewを走査し、チェックされた会員IDを配列として設定。
選択された会員IDを基に、会員テーブルから作成して設定。
この記事は参考になりましたか?
- 既存のRDBシステムに会員情報の名寄せ機能を追加する連載記事一覧
-
- 名寄せに関連して必要になる処理 ―ASP.NETでの実装方法
- 泣き別れしたデータの統合 ―ASP.NETでの実装方法
- SQLによる条件付き重複データの抽出と単純な名寄せ
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 遠藤 存(エンドウ アリ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
