.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」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|