|
.NET TIPS [ASP.NET]DataGridコントロールの列に複数の項目を表示するには?デジタルアドバンテージ2003/11/21 |
![]() |
|
|
|
DataGridコントロールでは、連結列で記述された列には1つの項目しか表示できないが、テンプレート列を用いることにより、複数の項目を1つの列内に表示することができる。
次の画面は、今回作成するサンプル・プログラムの実行画面である。このサンプル・プログラムでは、1つの列に2つの項目(「概要」と「URL」)を罫線で区切って表示している。
![]() |
| 1つの列に複数の項目を表示するサンプル・プログラム(multirow.aspx)の実行画面 |
このサンプル・プログラムは「TIPS:[ASP.NET]DataGridコントロールで特定のカラムのみを表示するには?」の示したサンプル・プログラム(bounddg2.aspx)の一部を書き換えたものだ。元のプログラムでは、例えば次のような連結列の記述により列を定義していた。
<asp:BoundColumn DataField="description" HeaderText="概要" />
この列ではデータソースのdescriptionフィールドのデータを項目として表示するが、ここで指定可能なDataField属性は1つのみだ。
同じ列にlinkフィールドのデータも表示したい場合には、次のようにテンプレート列を使用する。
<asp:TemplateColumn HeaderText="概要<hr>URL">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "description") %>
<hr>
<%# DataBinder.Eval(Container.DataItem, "link") %>
</ItemTemplate>
</asp:TemplateColumn>
テンプレート列の基本的な記述方法については「TIPS:[ASP.NET]DataGridコントロールの行に通し番号を付けるには?」で解説している。ここでは、1つの<ItemTemplate>要素に2つのデータ連結式を埋め込み、それらを罫線表示のための<hr>タグで区切っているところがポイントだ。また、列名表示に使用されるHeaderText属性の値にも<hr>タグを埋め込んで、ヘッダー行も同じように複数行表示にしている。
サンプル・プログラムのソース・コードを次に示しておく。
|
|
| 1つの列に複数の項目を表示するC#のサンプル・プログラム(multirow.aspx) | |
なお、罫線ではなく単に改行のみがよいのなら<hr>を<br>に書き換えればよい。![]()
| カテゴリ:Webフォーム 処理対象:DataGridコントロール 使用ライブラリ:DataGridコントロール 使用ライブラリ:<asp:TemplateColumn>要素 関連TIPS:[ASP.NET]DataGridコントロールで特定のカラムのみを表示するには? 関連TIPS:[ASP.NET]DataGridコントロールの行に通し番号を付けるには? |
| 「.NET TIPS」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



