方法: Windows フォーム DataGridView コントロールのデータの書式を設定する

以下の手順では、DataGridView コントロールと、コントロール内の特定の列の DefaultCellStyle プロパティを使用して、セル値の基本的な書式設定を行う方法について説明します。 高度なデータ書式設定について詳しくは、「方法: Windows フォーム DataGridView コントロールのデータの書式設定をカスタマイズする」を参照してください。

通貨と日付の値を書式設定するには

  • DataGridViewCellStyleFormat プロパティを設定します。 次のコード例では、列の DefaultCellStyle プロパティを使用して、特定の列の形式を設定しています。 UnitPrice 列の値は、現在のカルチャに固有の通貨書式で表示され、負の値はかっこで囲まれます。 ShipDate 列の値は、現在のカルチャに固有の短い日付形式で表示されます。 Format の値について詳しくは、「型の書式設定」を参照してください。

    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";
    this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";
    
    Me.dataGridView1.Columns("UnitPrice").DefaultCellStyle.Format = "c"
    Me.dataGridView1.Columns("ShipDate").DefaultCellStyle.Format = "d"
    

null データベース値の表示をカスタマイズするには

  • DataGridViewCellStyleNullValue プロパティを設定します。 次のコード例では、DataGridView.DefaultCellStyle プロパティを使用して、DBNull.Value と等しい値を含むすべてのセルに "no entry" と表示します。

    this.dataGridView1.DefaultCellStyle.NullValue = "no entry";
    
    Me.dataGridView1.DefaultCellStyle.NullValue = "no entry"
    

テキストベースのセルで折り返しを有効にするには

  • DataGridViewCellStyleWrapMode プロパティを DataGridViewTriState 列挙値のいずれかに設定します。 次のコード例では、DataGridView.DefaultCellStyle プロパティを使用して、コントロール全体のラップ モードを設定しています。

    this.dataGridView1.DefaultCellStyle.WrapMode =
        DataGridViewTriState.True;
    
    Me.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
    

DataGridView セルのテキストの配置を指定するには

  • DataGridViewCellStyleAlignment プロパティを DataGridViewContentAlignment 列挙値のいずれかに設定します。 次のコード例では、DefaultCellStyle 列のプロパティを使用して、特定の列の配置を設定しています。

    this.dataGridView1.Columns["CustomerName"].DefaultCellStyle
        .Alignment = DataGridViewContentAlignment.MiddleRight;
    
    Me.dataGridView1.Columns("CustomerName").DefaultCellStyle _
        .Alignment = DataGridViewContentAlignment.MiddleRight
    

private void SetFormatting()
{
    this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";
    this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";
    this.dataGridView1.Columns["CustomerName"].DefaultCellStyle
        .Alignment = DataGridViewContentAlignment.MiddleRight;
    this.dataGridView1.DefaultCellStyle.NullValue = "no entry";
    this.dataGridView1.DefaultCellStyle.WrapMode =
        DataGridViewTriState.True;
}
Private Sub SetFormatting()
    With Me.dataGridView1
        .Columns("UnitPrice").DefaultCellStyle.Format = "c"
        .Columns("ShipDate").DefaultCellStyle.Format = "d"
        .Columns("CustomerName").DefaultCellStyle.Alignment = _
            DataGridViewContentAlignment.MiddleRight
        .DefaultCellStyle.NullValue = "no entry"
        .DefaultCellStyle.WrapMode = DataGridViewTriState.True
    End With
End Sub

コードのコンパイル

これらの例には以下のものが必要です。

  • UnitPrice という名前の列、ShipDate という名前の列、および CustomerName という名前の列を含んだ、dataGridView1 という名前の DataGridView コントロール。

  • SystemSystem.Drawing、および System.Windows.Forms の各アセンブリへの参照。

信頼性の高いプログラミング

最大限のスケーラビリティを実現するには、各要素のスタイルのプロパティを個別に設定するのではなく、同じスタイルを使用する複数の行、列、またはセルで DataGridViewCellStyle オブジェクトを共有してください。 詳細については、「 Windows フォーム DataGridView コントロールを拡張するための推奨される手順」を参照してください。

関連項目