|
.NET TIPS DataGridViewコントロールのセルの文字列を複数行で表示するには?[2.0のみ、C#、VB]デジタルアドバンテージ 遠藤 孝信2006/11/17 |
![]() |
|
|
|
DataGridViewコントロールのセルに表示される文字列は、デフォルトでは折り返されずに1行で表示されるが、セル・スタイルのWrapModeプロパティをDataGridViewTriState.Trueに設定することにより、文字列がセル内で折り返され複数行で表示されるようになる。
DataGridViewTriState列挙体にはTrue、False、NotSet(=未設定)の3つの値が定義されており、WrapModeプロパティのデフォルト値はDataGridViewTriState.NotSetであるが、この場合には文字列は折り返されない。
グリッド内のすべてのセルを複数行表示にしたい場合には、DataGridViewコントロールのDefaultCellStyleプロパティのWrapModeプロパティにDataGridViewTriState.Trueをセットすればよい。
ただし以上の設定だけでは、以下の画面のように文字列は折り返されるものの、各行の高さがデフォルトのままなので、文字列全体を表示できない。
![]() |
| 文字列の折り返しのみを行ったDataGridViewコントロール |
| なおこの画面からも分かるように、日本語の文字列は適切に折り返されるが、連続する半角英数字は途中では折り返されない(単語と単語の間でしか改行されない)。 |
折り返された文字列全体が表示されるように行の高さを自動調節するには、DataGridViewコントロールのAutoSizeRowsModeプロパティにDataGridViewAutoSizeRowsMode.AllCellsなどを設定すればよい。
以上の2点をまとめると、セル内の文字列を折り返して複数行で表示させるために必要な設定は以下のようになる。
| ||
| セル内の文字列を折り返して複数行で表示させるコード例(上:C#、下:VB) | ||
| 変数dgvはDataGridViewコントロールのインスタンスを参照しているものとする。 |
次の画面は、このようにして文字列全体を表示するようにしたDataGridViewコントロールの画面である。
![]() |
| セル内の文字列を折り返して全体を表示したDataGridViewコントロール |
以下にこのサンプル・プログラムのソース・コードを示す。
| |
| セルの文字列を複数行表示するC#のサンプル・プログラム(dgvwrapmode.cs) | |
| |
| セルの文字列を複数行表示するVBのサンプル・プログラム(dgvwrapmode.vb) | |
このサンプル・プログラムでは、Insider.NETの記事一覧を含むRSS情報(RSS 2.0)をデータソースとしている。データソースとなるデータセットにはReadXmlメソッドの呼び出しにより「rss」「channel」「image」「item」の4つのデータテーブルが作成されるが、ここでは記事一覧である「item」を使用している![]()
| 利用可能バージョン:.NET Framework 2.0のみ カテゴリ:Windowsフォーム 処理対象:DataGridViewコントロール 使用ライブラリ:DataGridViewコントロール 使用ライブラリ:DataGridViewTriState列挙体(System.Windows.Forms名前空間) |
| 「.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 -




