C# DatagridViewj加载数据源后,列顺序自动重排,顺序混乱 的解决方法

在做一个项目中,遇到C#中DatagridViewj加载数据源后,列顺序自动重排,顺序混乱的问题。

特此记录下解决方案:

1.在DataGridView的属性列表里,找到Columns这个属性,在里面把DataSoure里所有的列都Add添加进去,这样显示出来的数据就与你设置的顺序一样了。不过要注意一点,必须要每个列的DataPropertyName属性设置为你数据源里的 字段名或者说列名 ,这样数据才对应得上。至于一些不想显示出来的列,直接把他的Visible设为false就行了。

2.如果DataGridView里添加了DataGridViewButtonColumn,也是要把每个列的DataPropertyName属性设置为你数据源里的 字段名或者说列名。当然例如ButtonColumn这些设置DataPropertyName可能没有意义(没有时间去试着验证了),但设置DataPropertyName只是为了不让其顺序混乱,可能并没有实际意义。

提供一些其他网友的解决方案:

1.有人给出一个好方法:先把datasource置空值。
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = dv;

一试果然不错

转载自:http://blog.csdn.net/lukesunch/article/details/4644101


你可能感兴趣的:(C#)