2011-12-11 10 views
0

私はdatagridviewにバインドされたデータテーブルを持っています。しかし、列の順序が乱れてしまいます。私は既に各フィールドの列ヘッダーを作成してデータプロパティ名を設定しました。私はデザイナーの視点でそれを配置しました。しかし、私がプログラムを実行すると、列ヘッダーは私の配置に従わない。 = _ =。誰もこれを解決する方法を知っていますか?Datagridview列ヘッダーの注文 - Winform C#

EDIT :: 私はこのアプローチを試みました。それは大丈夫ですか?

void SortDataGridViewColumns(DataGridView dgv) 
{ 
    var list = from DataGridViewColumn c in dgv.Columns 
       orderby c.Index 
       select c; 

    int i = 0; 
    foreach (DataGridViewColumn c in list) 
    { 
     c.DisplayIndex = i++; 
    } 
} 

***私はこれを持っていますが、私はヘッダーテキストの代わりにインデックスを使用しています。ケースが閉まった! LOL

答えて

7

実行時に列の順序を変更する必要があると思います。 MSDNから

:あなたがデータソースからデータを表示するためのDataGridViewを使用すると、データソースのスキーマ内の列が時々順に表示されません

あなたがそれらを表示したいと思います。 DataGridViewColumnクラスのDisplayIndexプロパティを使用して、列の表示順序を変更できます。

あなたは、このような列の順序変更することができます:あなたはtは頻繁にそれを使用するつもりなら、私はsintactic砂糖を追加する拡張メソッドを利用するためにあなたをお勧め

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; 
} 

http://msdn.microsoft.com/en-us/library/wkfe535h.aspx#Y0

を読みやすく、管理しやすくなります。

+1

ありがとうございました。これも助けになりました。 Scumbag C#lol。冗談だ。 –

関連する問題