次の方法で共有


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

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

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

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

    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

コードのコンパイル

この例では、次のものが必要です。

  • DataGridView という名前の dataGridView1 コントロール。Fax 列と CustomerID 列が存在するテーブル (たとえば Northwind サンプル データベース内の Customers テーブル) にバインドされていること。

  • System アセンブリと System.Windows.Forms アセンブリへの参照。

こちらも参照ください