SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

「Dojo道場」~実用アプリ構築のためのベストプラクティス

Dojo道場 ~ 第3回「DataGridをもっと使いこなす」

「Dojo道場」~実用アプリ構築のためのベストプラクティス

行やカラムをまたがるセルの表示

 では、このサンプルをもとに、セルの表示をカスタマイズしましょう。まず、画像は他のデータより高さをとるので、画像以外のデータを2段に表示することにしましょう。その際に、メールアドレスは他のデータより長い可能性があるので、メールアドレスだけを2段目に、残りのデータを一段目に表示します。

 ビューの定義(structure)のcellsプロパティには、カラム定義の配列を指定していましたが、この配列を入れ子(2次元配列)にすることで、各データ項目を複数行で表示させることができます。HTMLのtdやthタグでの複数行、複数カラムの指定と同様に、rowSpanプロパティで複数行にまたがるセルを、colSpanで複数カラムにまたがるセルを指定できます。ここでは、画像を2行にまたがり、メールアドレスを3カラムにまたがるように指定します。

var myStructure = [
    {cells: [[
        {name: "画像", field: "photo", width: "50px",
            formatter: myImageFormatter, rowSpan: 2},
        {name: "名前", field: "name", width: "auto"},
        {name: "生年月日", field: "birthDate", width: "auto",
            formatter: myDateFormatter},
        {name: "グループ", field: "group", width: "60px",
            formatter: myGroupFormatter}
    ], [
        {name: "メールアドレス", field: "email", width: "auto", colSpan: 3}
    ]]}
];
実行結果
実行結果

 ビュー定義をうまく指定することで、情報量が多いデータ項目も段組を工夫して効率よく表示することができます。

複数ビューの利用

 複数のビューを指定して、DataGridの表示を横方向に分割することもできます。例えば、項目名のカラムを左側に固定して、多数のフィールドを横スクロールして閲覧するような場合には、複数ビューの利用が有効です。複数ビューは以下のように、structureプロパティに指定する配列にビュー定義を複数指定することで実装できます。

var myStructure = [
    {cells: [
        {name: "名前", field: "name", width: "100px"}
    ]},
    {cells: [
        {name: "画像", field: "photo", width: "50px",
            formatter: myImageFormatter},
        {name: "メールアドレス", field: "email", width: "150px"},
        {name: "生年月日", field: "birthDate", width: "100px",
            formatter: myDateFormatter},
        {name: "グループ", field: "group", width: "60px",
            formatter: myGroupFormatter}
    ]}
];
実行結果
実行結果

 ビューが分割され、垂直スクロール・バーは2つ表示されますが、どちらのスクロール・バーを操作しても、両方のビューは連動してスクロールします。

次のページ
カラム表示のカスタマイズ

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

「Dojo道場」~実用アプリ構築のためのベストプラクティス連載記事一覧

もっと読む

この記事の著者

野口 雅人(ノグチ マサト)

日本アイ・ビー・エム株式会社 ソフトウェア開発研究所 シニア・テクニカ ル・スタッフ・メンバー1990年、日本IBM入社。ホームページ・ビルダー、Rational Application Developer などの製品開発に従事。現在はWeb 2.0/RIA関連のソフトウェア開発を担当。

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5640 2010/12/27 14:00

イベント

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

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

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

メールバックナンバー