SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事

LightSwitchを使用して素早くビジネスアプリケーションを開発してみよう

Visual Studio LightSwitchでサンプルアプリを作成


  • X ポスト
  • このエントリーをはてなブックマークに追加

ダウンロード sample.zip (17.8 MB)

[7]生徒検索画面を作成する

 Studentテーブルの内容を表示する、生徒検索画面を作成します。テーブルデザイナ上部にある[Screen...]ボタンをクリックします。

 表示された[Add New Screen]ダイアログボックスで[Search Data Screen]画面テンプレートを選択します。[Screen Name]に「生徒検索画面」と入力し[Screen Data]には[StudentSet]を選択して[OK]ボタンをクリックします(図23)。

図23:生徒検索画面の作成
図23:生徒検索画面の作成
[8]生徒検索画面を修正する

 作成された生徒検索画面は、既定ではデータ表示専用となっています。そこで、この画面から生徒データの追加や編集、削除を行えるようにするため、生徒検索画面を修正します。

 表示されている生徒検索画面のデザイナで、右側部分の1番目の[Vertical Stack | 生徒検索画面]を選択し、プロパティウィンドウで[User Read-Only Controls]のチェックボックスをオフにします(図24)。

図24:生徒検索画面の修正

 次に、データの変更をデータベースに保存できるようにします。2番目の[Screen Command Bar]を展開し[Add]メニューボタンをクリックし[Save]ボタンを追加します(図25)。これで先生一覧画面と同様に、リボンの[Home]タブ内に[Save]ボタンが追加されます。

図25:[Save]ボタンの追加
図25:[Save]ボタンの追加

 次に、DataGridコントロールにボタンを追加します。既定では[Refresh]ボタンしか配置されていませんので、データの追加や編集、削除を行えるように、[追加...][編集...][削除]の3つのボタンを追加します。

 [DataGrid | 生徒Collection]を展開し、その中にある[Command Bar]を展開します。[Add]メニューボタンをクリックし[追加...]ボタンを追加します(図26)。

図26:DataGridコントロールに[追加...]ボタンを追加
図26:DataGridコントロールに[追加...]ボタンを追加

 同様の手順で、DataGridコントロールに[編集...]ボタンと[削除]ボタンも追加します(図27)。

図27:DataGridコントロールに追加されたボタン
図27:DataGridコントロールに追加されたボタン
[9]生徒検索画面を実行して確認する

 ここまでの手順で、生徒データを管理するStudentテーブルと生徒検索画面をアプリケーションに追加できました。それでは、動作を確認してみましょう。

 デバッグ開始を実行してビルドが完了すると、アプリケーションが起動して、最初に作成した先生一覧画面が表示されます。右側の[Tasks]の一覧から[生徒検索画面]をクリックすると、生徒検索画面が表示されます(図28)。

図28:生徒検索画面
図28:生徒検索画面

 [Add...]ボタンをクリックすると[Add New Student]ダイアログボックスが表示されます(図29)。

図29:[Add New Student]ダイアログボックス
図29:[Add New Student]ダイアログボックス

 ダイアログボックスでは、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)。

図30:[Select Teacher]ダイアログボックス
図30:[Select Teacher]ダイアログボックス

 各データ型に対応したコントロールには、データ型に応じた検証機能も含まれています。図31は、メールアドレスに不正な形式を入力し、かつ必須である先生データを指定しなかったために、2つの検証エラーが発生している様子を示したものです。

図31:入力コントロールに備わっている検証機能
図31:入力コントロールに備わっている検証機能

 DataGridコントロールには、各列でのソート機能が備わっています。また[Seach Data Screen]画面テンプレートで作成した画面には、データの検索機能が備わっています。画面の右上にある検索ボックスに文字列を入力すると、入力文字列にヒットするデータのみがDataGridコントロールに表示されます。さらに[Export to Excel]ボタンをクリックすると、Office連携機能による表示データのExcelエクスポートを行うことができます。

 動作を確認したら、アプリケーションを終了します。

次のページ
まとめ

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、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本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 広瀬 嘉久(株式会社ジェイテックジャパン)(ヒロセ ヨシヒサ )

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5752 2011/02/25 06:46

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング