按字母顺序对 DataGridView 中的列进行排序

发布于 2024-08-14 03:47:12 字数 192 浏览 3 评论 0原文

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

例如,

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

我需要...

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

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

I am using a DataGridView control in a VB.Net application where columns are being added dynamically to a DataTable which is being created in code. I need to order some of the columns alphabetically by name.

E.g.

Name, Surname, House Number, B, D, A, C

I need as...

Name, Surname, House Number, A, B, C, D

the columns are as they are needed so I cannot order them before.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

睡美人的小仙女 2024-08-21 03:47:12

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

DisplayIndex 是关键。

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

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

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

It's not VB.NET, but this question in C# should have the answer you need: How can I sort the column headers in a datagrid alphabetically

DisplayIndex is key.

If you don't want to do Linq, then you can implement code to do the following:

  1. Create a temporary List to store the columns
  2. Store a temporary copy of your DataGridView
  3. Remove all columns from DataGridView
  4. Sort your columns manually, ignoring the first few you don't want to sort
  5. Add columns back to DataGridView in the correct order using DisplayIndex.

There is also a question here discussing how to change datagrid columns order or index

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文