如何从C#的datagridview中获取重新排列的列?我需要按顺序获取当前正在显示的所有列。我可以通过设置datagridview.AutoGenerateColumns=false
来获得默认的列顺序,但是即使重新排列了表格中的列,我也得到了相同的旧顺序。
编辑:基本上我需要的是能够根据其显示索引遍历datagridview的所有列
谢谢
最佳答案
使用您的DataGridView列的DisplayIndex property。
DisplayIndex属性:
获取或设置广告的显示顺序
相对于当前列
显示的列。
编辑:
这很丑陋,我敢肯定人们会笑着说,但这可能会给您一个粗略的想法,以改进它。
创建具有三列的DGV并按如下所示设置其DisplayName属性:
dataGridView1.Columns[0].DisplayIndex = 1;
dataGridView1.Columns[1].DisplayIndex = 2;
dataGridView1.Columns[2].DisplayIndex = 0;
添加以下代码以遍历所有列,以其DisplayIndex顺序访问DGV中的列:
for (int index = 0; index < dataGridView1.Columns.Count; index++) {
foreach (DataGridViewColumn c in dataGridView1.Columns) {
if (c.DisplayIndex == index) {
// You've got your next column.
Console.WriteLine(c.Name);
}
}
}
关于c# - 在C#中重新排列列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2915170/