我在 VB.Net 应用程序中使用 DataGridView 控件,其中列被动态添加到在代码中创建的 DataTable 中。我需要按名称的字母顺序对某些列进行排序。

例如。

姓名、门牌号码、B、D、A、C

我需要如...

姓名、门牌号、A、B、C、D

这些列是需要的,所以我之前无法订购它们。

有帮助吗?

解决方案

它不是 VB.NET,但 C# 中的这个问题应该有您需要的答案: 如何按字母顺序对数据网格中的列标题进行排序

DisplayIndex 是关键。

如果您不想执行 Linq,那么您可以实现代码来执行以下操作:

  1. 创建一个临时列表来存储列
  2. 存储 DataGridView 的临时副本
  3. 从 DataGridView 中删除所有列
  4. 手动对列进行排序,忽略您不想排序的前几列
  5. 使用 DisplayIndex 以正确的顺序将列添加回 DataGridView。

这里还有一个问题讨论如何 更改数据网格列顺序或索引

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top