将数据从 Excel 导入到 VisualBasic,我使用以下代码对列重新排序:
Dim new_postion As Integer = dt_Excel.Columns.Count - 1
For i As Integer = 0 To dt_Excel.Columns.Count - 1
dt_Excel.Columns(i).SetOrdinal(new_postion)
new_postion = new_postion - 1
Next
DGV_Excel.DataSource = dt_Excel
但是当我在 DataGridView 中显示数据时,它的顺序仍然相同。
最佳答案
将 DataTable 分配给 DataGridView 后,您所尝试的操作将不起作用,至少不会以正确的方式起作用。
在将 DataTable 分配给 DataGridView.DataSource 之前设置位置是最好的,但如果不可能,则使用 DisplayIndex,例如DataGridView1.Columns(x).DisplayIndex = y
其中 x 是要更改的列索引,y 是我们也将更改的内容。
如果您偶然在 IDE 中创建了 DataGridView 列,那么 DisplayIndex 是唯一的方法。
关于vb.net - 如何在 vb.net 中对 DataTable 中的列进行重新排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35153084/