日期:2014-05-18  浏览次数:21103 次

怪问题:如何禁止datagridview显示不同列时自动改变位置
有这样一个数据源   tableA
                    col0       col1       col2       col3       col4
        row0         00           01           02           03           04
        row1         10           11           12           13           14
        row2         20           21           22           23           23
      还有两个按钮   btAll   和   bu034,分别将tableA中所有的列和tableA中的034列绑定到datagridview中。btAll中sql语句为   select   *   from   tableA     bu034中sql语句为   select   col0,col3,col4   from   tableA
      但是点击bu034显示部分列数据后,再点btAll显示的所有列数据并不是   col0   col1   col2   col3   col4   的顺序,而是   col0   col3   col4   col1   col2。也就是说直接在部分列的结果后面自动追加了没有的列。
      请问,如何才能避免这种情况,不管点那个按钮.,都是按照sql中select的顺序显示列

------解决方案--------------------
设置 dataSource 的时候需要先清空以下数据,比如:

this.dgv.DataSource = null;
this.dgv.DataSource = selectDataTable;