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

DataGridViewのヘッダーの文字列を変更する

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

列ヘッダーの文字列を変更する

列ヘッダーに表示されている文字列を変更するには、DataGridViewColumn.HeaderTextプロパティを使います。

補足:DataGridViewColumn.HeaderCellプロパティで取得できるDataGridViewCellオブジェクトのValueプロパティを使用してもほぼ同じです。
VB.NET
コードを隠すコードを選択
'DataGridView1のはじめの列のテキストを変更する
DataGridView1.Columns(0).HeaderText = "はじめの列"
C#
コードを隠すコードを選択
//DataGridView1のはじめの列のテキストを変更する
DataGridView1.Columns[0].HeaderText = "はじめの列";

行ヘッダーに表示する文字列を設定する

行ヘッダーに文字列を表示するには、DataGridViewRow.HeaderCellプロパティで取得できるDataGridViewCellオブジェクトのValueプロパティを使用します。

以下の例では、行ヘッダーに行番号をつけています。(行ヘッダーに行番号をつける詳しい方法については、こちらで説明しています。)

VB.NET
コードを隠すコードを選択
'DataGridView1の行ヘッダーに行番号を表示する
Dim i As Integer
For i = 0 To DataGridView1.Rows.Count - 1
    DataGridView1.Rows(i).HeaderCell.Value = i.ToString()
Next i

'行ヘッダーの幅を自動調節する
DataGridView1.AutoResizeRowHeadersWidth( _
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders)
C#
コードを隠すコードを選択
//DataGridView1の行ヘッダーに行番号を表示する
for (int i = 0; i < DataGridView1.Rows.Count; i++)
{
    DataGridView1.Rows[i].HeaderCell.Value = i.ToString();
}

//行ヘッダーの幅を自動調節する
DataGridView1.AutoResizeRowHeadersWidth(
    DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

左上隅のヘッダーに文字列を設定する

行ヘッダーと列ヘッダーが交差する位置にある、左上のヘッダーセルに文字列を表示するには、DataGridView.TopLeftHeaderCellプロパティで取得したDataGridViewCellオブジェクトのValueプロパティを使用します。

VB.NET
コードを隠すコードを選択
'左上隅のヘッダーセルに"/"と表示する
DataGridView1.TopLeftHeaderCell.Value = "/"
C#
コードを隠すコードを選択
//左上隅のヘッダーセルに"/"と表示する
DataGridView1.TopLeftHeaderCell.Value = "/";

ヘッダーに文字列を直接描画する

このような方法以外に、DataGridViewのRowPostPaintやCellPaintingイベントハンドラなどを使ってヘッダーに文字列を描画する方法もあります。この方法については、こちらで説明します

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

  • イベントハンドラの意味が分からない、C#のコードをそのまま書いても動かないという方は、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。