方法: Windows フォーム DataGridView コントロールの列の順序を変更する

DataGridView を使用してデータをデータ ソースから表示する場合、データ ソースのスキーマの列が、表示したい順序で表示されないことがあります。 DataGridViewColumn クラスの DisplayIndex プロパティを使用して、列の表示順序を変更できます。

次のコード例は、Northwind サンプル データベース内の Customers テーブルにバインドするときに自動的に生成される列のいくつかを再配置します。 DataGridView コントロールをデータベース テーブルにバインドする方法について詳しくは、「方法: データを Windows フォーム DataGridView コントロールにバインドする」を参照してください。

Visual Studio では、このタスクに対するサポートが用意されています。 「方法: デザイナーを使用して Windows フォーム DataGridView コントロールの列の順序を変更する」も参照してください。

private void AdjustColumnOrder()
{
    customersDataGridView.Columns["CustomerID"].Visible = false;
    customersDataGridView.Columns["ContactName"].DisplayIndex = 0;
    customersDataGridView.Columns["ContactTitle"].DisplayIndex = 1;
    customersDataGridView.Columns["City"].DisplayIndex = 2;
    customersDataGridView.Columns["Country"].DisplayIndex = 3;
    customersDataGridView.Columns["CompanyName"].DisplayIndex = 4;
}
Private Sub AdjustColumnOrder()

    With customersDataGridView
        .Columns("CustomerID").Visible = False
        .Columns("ContactName").DisplayIndex = 0
        .Columns("ContactTitle").DisplayIndex = 1
        .Columns("City").DisplayIndex = 2
        .Columns("Country").DisplayIndex = 3
        .Columns("CompanyName").DisplayIndex = 4
    End With

End Sub

コードのコンパイル

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

  • Northwind サンプル データベース内の DataGridView テーブルなど、示されている列の名前を持つテーブルにバインドされた、customersDataGridView という名前の Customers コントロール。

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

関連項目