2016-10-21 108 views
0

我正在導入一些Excel工作表到DataGridView。我需要導入,重新排序我的項目中的列,然後獲取新的索引。我試過DataGridViewColumn.Index,DataGridViewColumn.DisplayIndex,Refresh(),但索引從不改變。如何在DataGridView中重新排列列的機會列索引?

請問我該怎麼做?

謝謝。

+0

您是否無法在dataGridView中獲取新記錄?即不刷新dataGridView。 – user2960398

+0

不,我不能添加或刪除dgv行,只對其重新排序。 –

+0

添加或刪除事件不起作用? – user2960398

回答

0

DataGridView列索引是在創建列時創建的。如果要更改GUI中的順序,如果要更改DataGridView的順序(如果要創建新的DataGridView或將該列放入臨時列表中),請更改DisplayIndex,刪除所有列並重新添加它們。

+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

它的作品,男人。謝謝。 –