vb.net - 如何在 vb.net 中对 DataTable 中的列进行重新排序?

标签 vb.net vb.net-2010

将数据从 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/

相关文章:

vb.net - 减少菜单项的图标与其文本之间的间距

vb.net - 为什么控制台应用程序项目中需要导入Console命名空间

asp.net - 将链接按钮单击从一个用户控件传递到另一个用户控件

vb.net - 我可以将 Excel 应用程序对象设置为指向已打开的 Excel 实例吗?

mysql - 在 Visual Basic 中插入 INNER JOIN

gridview - 如何更改gridview字体?

mysql - 如何授予所有使用mysql服务器的用户

.net - 清除网络流中的数据而不处理它

mysql - 选择查询来求和表 1 中的平均字段并计算表中的字段

vb.net - 打印自定义页面和当前页面?