[7]生徒検索画面を作成する
Studentテーブルの内容を表示する、生徒検索画面を作成します。テーブルデザイナ上部にある[Screen...]ボタンをクリックします。
表示された[Add New Screen]ダイアログボックスで[Search Data Screen]画面テンプレートを選択します。[Screen Name]に「生徒検索画面」と入力し[Screen Data]には[StudentSet]を選択して[OK]ボタンをクリックします(図23)。
[8]生徒検索画面を修正する
作成された生徒検索画面は、既定ではデータ表示専用となっています。そこで、この画面から生徒データの追加や編集、削除を行えるようにするため、生徒検索画面を修正します。
表示されている生徒検索画面のデザイナで、右側部分の1番目の[Vertical Stack | 生徒検索画面]を選択し、プロパティウィンドウで[User Read-Only Controls]のチェックボックスをオフにします(図24)。
次に、データの変更をデータベースに保存できるようにします。2番目の[Screen Command Bar]を展開し[Add]メニューボタンをクリックし[Save]ボタンを追加します(図25)。これで先生一覧画面と同様に、リボンの[Home]タブ内に[Save]ボタンが追加されます。
次に、DataGridコントロールにボタンを追加します。既定では[Refresh]ボタンしか配置されていませんので、データの追加や編集、削除を行えるように、[追加...][編集...][削除]の3つのボタンを追加します。
[DataGrid | 生徒Collection]を展開し、その中にある[Command Bar]を展開します。[Add]メニューボタンをクリックし[追加...]ボタンを追加します(図26)。
同様の手順で、DataGridコントロールに[編集...]ボタンと[削除]ボタンも追加します(図27)。
[9]生徒検索画面を実行して確認する
ここまでの手順で、生徒データを管理するStudentテーブルと生徒検索画面をアプリケーションに追加できました。それでは、動作を確認してみましょう。
デバッグ開始を実行してビルドが完了すると、アプリケーションが起動して、最初に作成した先生一覧画面が表示されます。右側の[Tasks]の一覧から[生徒検索画面]をクリックすると、生徒検索画面が表示されます(図28)。
[Add...]ボタンをクリックすると[Add New Student]ダイアログボックスが表示されます(図29)。
ダイアログボックスでは、Studentテーブルの各テーブル列のデータ型に対応したコントロールが表示されています。
PhoneNumber型である電話番号の入力フィールドでは、ドロップダウン形式で表示される[Area Code]や[Local Number]に数字を入力すると「(03) 123-4567」のような書式に自動変更してくれます(書式は細かくカスタマイズ可能)。
EmailAddress型であるメールアドレスの入力フィールドでは、入力時にドメイン名を省略すると、手順5で設定した[Default Email Domain]プロパティの値を挿入してくれます。例えば「taro」と入力すると「taro@example.com」とドメイン名が付加されます。
Date型である生年月日の入力フィールドでは、カレンダーコントロールが表示されますし、性別の入力フィールドでは手順5で設定した選択リストが表示されます。
Teacher入力フィールド([Display Name]プロパティを未設定のためテーブル列名がそのまま表示)では、右側の[...]ボタンをクリックすると、関連付けられたTeacherテーブルを一覧表示する[Select Teacher]ダイアログボックスが表示され、担当の先生を選択できます(図30)。
各データ型に対応したコントロールには、データ型に応じた検証機能も含まれています。図31は、メールアドレスに不正な形式を入力し、かつ必須である先生データを指定しなかったために、2つの検証エラーが発生している様子を示したものです。
DataGridコントロールには、各列でのソート機能が備わっています。また[Seach Data Screen]画面テンプレートで作成した画面には、データの検索機能が備わっています。画面の右上にある検索ボックスに文字列を入力すると、入力文字列にヒットするデータのみがDataGridコントロールに表示されます。さらに[Export to Excel]ボタンをクリックすると、Office連携機能による表示データのExcelエクスポートを行うことができます。
動作を確認したら、アプリケーションを終了します。