連載
.NETでモバイル・サイト開発を始めよう

第3回 モバイル・コントロール利用時の心得

シグマコンサルティング 菅原 英治
2007/05/29
Page1 Page2 Page3 Page4

 第1回第2回では、主にASP.NETによるモバイルWebサイトをデバイス別に対応させる方法について解説した。

 今回は、これまでとは一新し、モバイル・コントロールの利用について解説する。モバイル・コントロールの中でも特に、一覧の表示に関するものについて取り上げる。これらのコントロールを取り上げた理由は、筆者が最初に利用した際に特に戸惑いを覚えたからだ。

■4. モバイル・コントロール利用時の心得

 それでは、一覧の表示に関するモバイル・コントロールについて解説する。

●4.1. 一覧の表示(GridViewコントロールとListコントロールの違い)

○4.1.1. 一覧表示コントロールについて

 一覧を表示するためのモバイル・コントロールとしては、次の2つが存在する。

    (1)Listコントロール
    (2)ObjectListコントロール

 Listコントロールは、単純な一覧を表示するためのコントロールである。基本的には、コントロールに設定したデータを1行ごとに1項目表示する。またテンプレートを利用することにより、複数の項目を表示させることも可能である。

 一方、ObjectListコントロールは、Listコントロールより、多機能な一覧コントロールである。このコントロールでは、一覧画面と詳細画面を提供する。これにより、コントロールに設定したデータ1行ごとに複数の項目を利用することが可能である。

 この2つのコントロールには、それぞれ対応するWebコントロールが存在する。下の表は、MSDNの「Web コントロールとモバイル コントロールの比較」より、ListとObjectListについて抜粋し、簡単にまとめたものだ。

モバイル・コントロール Webコントロール 相違点
List DataList、Repeater 機能はほとんど同じである。Listコントロールはデバイス別にテンプレートを適用できる。
ObjectList GridView(DataGrid) 機能はほとんど同じである。ObjectListコントロールはデータのコレクションを表示する複数のビューを提供する。
Listコントロール、ObjectListコントロールに対応するWebコントロール

 この表から、ListコントロールとObjectListコントロールのおおよその使い分け方はつかめるだろう。しかしうまくこれらを使いこなすために、具体的な違いについてより深く理解しておきたい。MSDNの「ObjectList コントロールと List コントロールの違い」に、その違いがまとめられている。

 下の表は、その内容を筆者なりに解釈し、補足を加えてまとめたものである。なお、「コマンド」とはボタンやリンクによるコントロールの操作のことである。

機能 Listコントロール ObjectListコントロール
データ連結 次の3つの方法がある。
(1)DataBindメソッドでバインドする
(2)ItemsプロパティのAddメソッドで、データ項目(=MobileListItemオブジェクト)を動的に追加する
(3)Webフォーム・ページ側(.aspxファイル側)に<item>タグを記述し、静的に追加する
必ずデータソース(DataSource)を設定し、DataBindメソッドでバインドしなくてはならない
複数のプロパティのビュー 1項目(=1行)に対し、1つのプロパティ(=列)を表示できる。テンプレートを利用することにより、複数のプロパティを表示することも可能である 1項目(=1行)に対し、複数のプロパティ(=列)を表示できる。複数のプロパティは、その項目の詳細情報として表示される
複数のコマンド 1項目(=1行)に対し、1つのコマンドを設定できる 1項目(=1行)に対し、複数のコマンドを設定できる。複数のコマンドからの選択は、(一覧表示ではなく)項目の詳細情報表示の中で行う
カスタム改ページ調整およびテンプレート化 サポートしている サポートしている
ListコントロールとObjectListコントロールの違い

 この表の説明だけで、2つのコントロールの違いを理解するのはなかなか難しいだろう。そこで、これらのコントロールを利用する具体的な例を示すことで、理解の助けとしたい。

 なお以降では、前回まで作成してきたサンプル・プログラムを拡張していく。そのサンプル・プログラムはこちらからダウンロード可能だ。


 INDEX
  [連載].NETでモバイル・サイト開発を始めよう
  第3回 モバイル・コントロール利用時の心得
  1.一覧表示コントロールについて
    2.ObjectListコントロールの利用
    3.Listコントロールの利用
    4.ListコントロールのItemCommandイベントの制御
 
インデックス・ページヘ  「.NETでモバイル・サイト開発を始めよう」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間