2016-10-21 5 views
0

いくつかのExcelシートをDataGridViewにインポートしています。私はインポートし、私のプロジェクトで列を並べ替え、新しいインデックスを取得する必要があります。DataGridViewの並べ替え列の列インデックスを取得するにはどうすればよいですか?

私はDataGridViewColumn.Index、DataGridViewColumn.DisplayIndex、Refresh()を試しましたが、インデックスは変更されません。

どうすればいいですか?

ありがとうございました。

+0

dataGridViewで新しいレコードを取得できませんか?つまり、更新されていないdataGridViewです。 – user2960398

+0

いいえ.DGV行を追加または削除できません。順序を変更してください。 –

+0

イベントの追加または削除は機能していませんか? – user2960398

答えて

0

DataGridView列の作成時に列インデックスが作成されます。 GUIで順序を変更する場合は、DataGridViewの順序を変更する場合はDisplayIndexを変更し、新しいDataGridViewを作成するか、一時的なリストに列を置き、すべての列を削除してもう一度追加します。

+0

それは、男の作品です。ありがとうございました。 –

0

データソース内の要素の実際のインデックスを変更する場合は、データソース構造を更新する必要があります。列の表示位置を変更する必要がある場合は、DisplayIndexプロパティを使用できます。これは列インデックスを変更するサンプルです。

var items = new List<dynamic> 
{ 
    new 
    { 
     Element1 = "Test Value", 
     Id = 1 
    }, 
    new 
    { 
     Element1 = "Test Value", 
     Id = 1 
    } 
}; 
dataGridView1.DataSource = items; 
dataGridView1.Columns[1].DisplayIndex = 0; 
MessageBox.Show(dataGridView1[0, 0].Value.ToString()); 
+0

それは、男の作品です。ありがとうございました。 –

関連する問題