SHOEISHA iD

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

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

Infragistics NetAdvantageチュートリアル(AD)

jQuery対応グリッドをASP.NET MVCで利用し、リッチな表現を簡単に実現する

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

テンプレートの設定

 Index.cshtmlにおいてテンプレートのID, 名前列ではそのまま生のデータを表示するように設定します。

<td>${ID}</td>
<td>${Name}</td>

 営業時間のデータはOpenTime, CloseTimeから生成するため、別関数を呼び出すよう設定します。

<td>${ConvertToOpenHours(OpenTime, CloseTime)}</td>

 このConvertToOpenHours関数は開始時刻、終了時刻から営業時間の文字列を返すように定義します。

@*スクリプト*@
<script type="text/javascript">
    function ConvertToOpenHours(oTime, cTime) {
        return AddZeros(String(oTime.Hours), 2) + ":"
        + AddZeros(String(oTime.Minutes), 2) + ":"
        + AddZeros(String(oTime.Seconds), 2) + " - "
        + AddZeros(String(cTime.Hours), 2) + ":"
        + AddZeros(String(cTime.Minutes), 2) + ":"
        + AddZeros(String(cTime.Seconds), 2);
    }

    function AddZeros(str, num) {
        for (var i = 0; i < num - str.length; i++) {
            str = "0" + str;
        }
        return str;
    }
</script>

 最後に設備・サービスが提供されている施設ではアイコンを表示するという表現を行い、ユーザーが情報を把握しやすいように設定します。Imagesフォルダーを作成し、NetAdvantage ICONSのサンプルアイコンをいくつか追加しました。

図11 NetAdvantage ICONSのサンプルファイルを追加
図11 NetAdvantage ICONSのサンプルファイルを追加

 テンプレートでは条件判定を行う{{if}} {{/if}}を利用し、それぞれの項目の値がtrueの場合、画像を表示するように設定します。

<td>
    {{if ShoppingCart == true}}
        <img src='/Images/ShoppingCart64.png' title='大型施設'></img>
    {{/if}}
    {{if PhotoStudio == true}}
        <img src='/Images/CameraDigital64.png' title='写真館'></img>
    {{/if}}
    {{if MedicalRoom == true}}
        <img src='/Images/MedicalBag64.png' title='クリニック'></img>
    {{/if}}
    {{if ShippingService == true}}
        <img src='/Images/FactoryAutomationEquipment64.png' title='発送サービス'></img>
    {{/if}}
    {{if PrintingService == true}}
        <img src='/Images/ReportWithChart64.png' title='印刷サービス'></img>
    {{/if}}            
</td>

 これですべての設定が完了しました。実行結果は下記のとおりとなります。

図12 リッチなグリッドが実現された
図12 リッチなグリッドが実現された

まとめ

 今回はASP.NET MVC 3とEntity Framework、さらにNetAdvantage for jQueryで提供されているASP.NET MVCラッパーを利用しデータを表示しました。また、igGridでサポートしている、jQueryテンプレートという強力なテンプレートエンジンを利用しリッチなグリッド表示を迅速に実現しました。この igGridをはじめとしたNetAdvantage for jQueryの関連情報についてはこちらでも提供されていますのでぜひご覧ください。

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
Infragistics NetAdvantageチュートリアル連載記事一覧

もっと読む

この記事の著者

インフラジスティックス・ジャパン株式会社 池原 大然(イケハラ ダイゼン)

国内ベンチャー企業にて.NETエンジニアとして開発に従事、2007年インフラジスティックス・ジャパンに入社。現在デベロッパー エバンジェリストとして、.NETやWPF/Silverlight製品や技術の啓蒙活動を行う。Microsoft MVP for Client App Dev 2010/04 ...

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6178 2011/09/27 17:53

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング