在做一个项目中,遇到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