日期:2014-5-17 浏览次数:20320次

请问C#中DataGridView修改了显示顺序,导出的时候该怎样处理
比如我在设计界面的时候是随便弄的列顺序,然后在运行的时候设置了他的DisplayIndex,然后导出的时候是通过
            for (int i = 0; i < dgvList.SelectedRows.Count; i++)
            {
                for (int j = 0; j < dgvList.Columns.Count; j++)
                {
                    if (!dgvList.Columns[j].Visible)
                    {
                        continue;
                    }
                    MyExcel.Range rng = (MyExcel.Range)sheet.Cells[i + 2, j];
                    rng.Value2 = dgvList.SelectedRows[i].Cells[j].Value;
                }
            }

这样的循环,他他导出显示的仍然是没有设置DisplayIndex之前的顺序,这应该怎样处理??能不能按照DisplayIndex的顺序导出,有没有这个属性?
我想了一下,难道要修改列的顺序吗?

------解决方案--------------------
不清楚有没有,不过通过后台改变列的顺序的话如果不是功能上这么要求的,还是建议前台直接调整为需要的列顺序
------解决方案--------------------
这个属性设置为AutoGenerateColumns = false;
------解决方案--------------------
引用:
这个属性设置为AutoGenerateColumns = false;

不好意思,看错了,原来是DataGridView
------解决方案--------------------
这种只有自己写循环按照自己的顺序导出