SHOEISHA iD

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

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

特集記事

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

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


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

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

プログラムコードの追加

 最後に、アプリケーションにプログラムコードを追加してみましょう。Studentテーブルに年齢計算用のAge列を追加し、年齢計算のためのコードを記述します。

 以下の手順で作成します。

[10]StudentテーブルにAge列を追加する

 Studentテーブルに年齢計算用のAge列を追加します。

 ソリューションエクスプローラーで[StudentSet]をダブルクリックすると、Stuentテーブルのテーブルデザイナが表示されます。次に、デザイナ上部にある[Computed Property]ボタンをクリックします(図32)。

図32:計算列(Computed Property)の追加
図32:計算列(Computed Property)の追加

 すると[Property1]という列名で計算プロパティ(Computed Property)が追加されます。テーブルデザイナ上で、列名を「Age」に変更し、データ型を[String]から[Int32]に変更します(図33)。

図33:StudentテーブルのAge列の設定

 次に、Age列のプロパティウィンドウで[Is Computed]プロパティのチェックボックスがオンになっていることを確認します。これにより、追加したAge列が計算プロパティであることが分かります。計算プロパティでは、値をデータベースに格納せず、毎回プログラムにより値を計算します。

 さらにプロパティウィンドウで[Display Name]プロパティの値を「年齢」に設定します。

[11]年齢計算のためのコードを追加する

 年齢を計算してAge列の値に設定するプログラムコードを追加します。

 Age列のプロパティウィンドウで[Edit Method]リンクをクリックします(図34)。

図34:計算メソッドの編集
図34:計算メソッドの編集

 すると、Student.csファイルが表示されます。リスト1のように、Age_Computeメソッドにコードを追加します(太字部分)。

[リスト1]StudentクラスのAge_Computeメソッド(Student.cs)
public partial class Student
{
    partial void Age_Compute(ref int result)
    {
        // Set result to the desired field value
        if (BirthDate != null)
        {
            // うるう年を無視した簡単な年齢計算の値を、Age列に設定する
            result = (new DateTime((DateTime.Today - (DateTime)BirthDate).Ticks)).Year - 1;
        }
    }
}

 自動生成されたStudentクラスのAge_Computeメソッドにより、Age列の値を計算して設定できます。追加コードでは、BirthDate列にデータが格納されている場合、今日の日付と生年月日から年齢を計算しています。コードをシンプルにするために、うるう年を無視した簡単な年齢計算となっているのでご了承ください。

[12]生徒検索画面を修正する

 生徒検索画面で、年齢を表示するように修正します。

 ソリューションエクスプローラーで[生徒検索画面]をダブルクリックすると、生徒検索画面のデザイナが表示されます。次に[DataGrid | 生徒Collection]を展開し、その中にある[DataGridRow | Student]を展開します。そして[Add]メニューボタンをクリックし[年齢]をクリックします(図35)。

図35:年齢表示用コントロールの追加
図35:年齢表示用コントロールの追加

 すると、年齢表示用のLabelコントロールが追加されます。

[13]生徒検索画面を実行して確認する

 ここまでの手順で、StudentテーブルにAge列を追加し、年齢計算用のプログラムコードを記述できました。それでは、動作を確認してみましょう。

 デバッグ開始を実行してビルドが完了すると、アプリケーションが起動して、先生一覧画面が表示されます。右側の[Tasks]の一覧から[生徒検索画面]をクリックすると、生徒検索画面が表示されます。生徒データを見てみると、生年月日から計算した正しい年齢が表示されていることが分かります(図36)。

図36:年齢表示を追加した生徒検索画面
図36:年齢表示を追加した生徒検索画面

 以上で、サンプルは完成です。

まとめ

 本稿では、マイクロソフトの新しい開発環境であるVisual Studio LightSwitchを紹介しました。そして、実際にシンプルなデスクトップアプリケーションを作成してみました。マウス操作によるテーブル設計と画面設計だけで、簡単にビジネスアプリケーションを作成できることがお分かりいただけたのではないでしょうか。さらに、プログラムコードを追加してアプリケーションをカスタマイズすることが容易であることもご理解いただけたと思います。

 読者の皆さんも、ぜひLightSwitchを実際にインストールして、LightSwitchによるビジネスアプリケーション開発の手軽さや、楽しさを味わってみてください。

修正履歴

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

  • 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 X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング