2009-12-04 62 views
0

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

E.g.

姓名,门牌号码,B,d,A,C

我需要的...

姓名,门牌号码,A,B,C,d

这些列是他们所需要的,所以我不能在以前订购它们。

回答

1

这不是VB.NET,但在C#这个问题应该有你需要的答案:How can I sort the column headers in a datagrid alphabetically

DisplayIndex是关键。

如果你不想做的LINQ,那么你可以执行的代码执行以下操作:

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

还有这里的问题讨论如何change datagrid columns order or index

+1

+1的链接,这解决了我的问题。 – tsilb 2010-12-02 20:46:27