DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

DataGridViewセル内の文字列を折り返して表示する

注意:DataGridViewコントロールは、.NET Framework 2.0で新しく追加されました。

セル内に収まりきらない文字列を右端で折り返して表示するには、セルスタイル(DataGridViewCellStyleオブジェクト)のDataGridViewCellStyle.WrapModeプロパティをDataGridViewTriState.Trueにするだけです。なお、セルスタイルに関する知識の無い方は、まずは「DataGridViewにセルスタイルを設定する」をお読みください。

WrapModeプロパティをTrueにすると、改行を含むテキストも改行されて表示されるようになります。また、セルの編集で改行を入力することもできるようになります。セルへの複数行入力について詳しくは、こちらで説明します。

また、セル内の文字列を折り返して表示している時は、セルの内容に合わせて行の高さが自動で調節されるようにした方がよいでしょう。その方法は、こちらで説明しています。

例えば、「Column1」という名前の列のセルのテキストを折り返して表示するには、次のようにします。

VB.NET
コードを隠すコードを選択
'セルの内容に合わせて、行の高さが自動的に調節されるようにする
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells

'"Column1"列のセルのテキストを折り返して表示する
DataGridView1.Columns("Column1").DefaultCellStyle.WrapMode = _
    DataGridViewTriState.True

'ヘッダーも折り返して表示するなら、次のようにする
DataGridView1.Columns("Column1").HeaderCell.Style.WrapMode = _
    DataGridViewTriState.True
C#
コードを隠すコードを選択
//セルの内容に合わせて、行の高さが自動的に調節されるようにする
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

//"Column1"列のセルのテキストを折り返して表示する
DataGridView1.Columns["Column1"].DefaultCellStyle.WrapMode =
    DataGridViewTriState.True;

//ヘッダーも折り返して表示するなら、次のようにする
DataGridView1.Columns["Column1"].HeaderCell.Style.WrapMode =
    DataGridViewTriState.True;

ただし、DataGridView.AutoSizeColumnsModeプロパティなどにより列の幅が自動調整されるようになっている時は、右端で折り返されません。列の自動調整に関しては、「DataGridViewの列の幅や行の高さを自動的に調整する」をご覧ください。

  • 履歴:
  • 2016/5/27 行の高さを自動で調節する方法の説明を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。