gpt4 book ai didi

c# - 如何按字母顺序对数据网格中的列标题进行排序? C#

转载 作者:行者123 更新时间:2023-11-30 12:19:13 29 4
gpt4 key购买 nike

我有一个包含列标题的排序列表,如何重新排列我的 datagridview 以使其与我的排序列表的顺序相同?

我试过下面的代码,但这并不总是有效,有些列没有正确排序。感谢您对此提供的任何帮助。

sortedColumnNames.Sort();

foreach (DataGridViewColumn col in dataGridView1.Columns)
{
col.DisplayIndex = sortedColumnNames.IndexOf(col.HeaderText);
}

已排序的列名:雅典克里特科孚岛凯法利尼亚岛米科诺斯岛罗兹圣托里尼斯基亚索斯桑特花

最佳答案

我无法判断您的问题是否是 SortedColumnNames 未正确排序(实际上不是),或者列的分配顺序是否与列表中显示的顺序不同。

如果是后者,可以想象可能是因为您在遍历集合时修改了集合中项目的顺序。尽管我在运行的任何测试中都没有看到这种情况发生。

作为一般规则,我不会弄乱我正在迭代的集合的成员顺序。我以这种方式实现列排序:

void SortDataGridViewColumns(DataGridView dgv)
{
var list = from DataGridViewColumn c in dgv.Columns
orderby c.HeaderText
select c;

int i = 0;
foreach (DataGridViewColumn c in list)
{
c.DisplayIndex = i++;
}
}

关于c# - 如何按字母顺序对数据网格中的列标题进行排序? C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/348419/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com