方法: Windows フォーム DataGridView コントロールから自動生成された列を削除する

データ ソースからのデータに基づいて列を自動生成するように DataGridView コントロールが設定されている場合は、特定の列を選択的に省略することができます。 これは、Columns コレクションで Remove メソッドを呼び出すことによって実行できます。 また、Visible プロパティを false に設定して、列を非表示にすることもできます。 この方法は、特定の条件下で非表示の列を表示する必要がある場合や、列内のデータを表示することなく、それらのデータにアクセスする必要がある場合に便利です。

自動生成された列を削除するには

  • Columns コレクションで Remove メソッドを呼び出します。

    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = customersDataSet;
    dataGridView1.Columns.Remove("Fax");
    
    With dataGridView1
        .AutoGenerateColumns = True
        .DataSource = customersDataSet
        .Columns.Remove("Fax")
    End With
    

自動生成された列を非表示にするには

  • 列の Visible プロパティを false に設定します。

    dataGridView1.Columns["CustomerID"].Visible = false;
    
    dataGridView1.Columns("CustomerID").Visible = False
    

private void BindDataAndInitializeColumns()
{
    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = customersDataSet;
    dataGridView1.Columns.Remove("Fax");
    dataGridView1.Columns["CustomerID"].Visible = false;
}
Private Sub BindDataAndInitializeColumns()

    With dataGridView1
        .AutoGenerateColumns = True
        .DataSource = customersDataSet
        .Columns.Remove("Fax")
        .Columns("CustomerID").Visible = False
    End With

End Sub

コードのコンパイル

この例で必要な要素は次のとおりです。

  • Fax 列と CustomerID 列を含んだテーブル (Northwind サンプル データベース内の Customers テーブルなど) にバインドされた、dataGridView1 という名前の DataGridView コントロール。

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

関連項目