C#中DatagridView列顺序莫名其妙改变

C#中DatagridView列顺序莫名其妙改变

今天花了不少时间解决一个问题。
问题:某一界面完成从不同表table1, table2, table3...(每次只选一个表,SQL语句动态生成)选取符合查询条件记录,然后返回记录被装入dataGridView1
首先选择了表1查询; 然后选择表2查询; 然后再回头选择表1, 发现表1得列顺序莫名其妙改变了。
上网查了一些类似问题的解决方案, 很多建议手工写column["columnname"].displayindex
My Godness, code量有点大,4个不同表上百个字段
继续搜英文的文章; 看到有人2006就提出来,微软也说是bug; 建议先设置dataGridView1.AutoGenerateColumns = false; 不行啊,这个还是要手工添加列。
继续看贴,有人给出一个好方法:先把datasource置空值。
            dataGridView1.DataSource = null;
            dataGridView1.DataSource = dv;

一试果然不错

你可能感兴趣的:(C#中DatagridView列顺序莫名其妙改变)