datagridview 中我要在不同的位置插入多个统计行,我先把column进行了排序(sort),然后插入行,
但是 
ds.Tables["glass"].Rows.InsertAt(dr, 4);
但是插入的行总是显示在最上面啊????

解决方案 »

  1.   

    肯定是你ds的位置就没有对,dataGridView是按你的ds数据源来显示的
    你跟踪看看你的ds.Tables的数据,估计就是插入的新行排在第一了
      

  2.   


    我试了下,问题在与我对column【“班别”】进行了排序(sort),所以才每次都
    ds.Tables["glass"].Rows.InsertAt(dr, 4); 
    添加到第一行了,这个问题寻求解决的办法
      

  3.   

    你是排好序后插入,如:
    你排序前是:
    3
    4
    1
    2
    排好序后是:1,2,3,4
    这时insert位置是3的话应该把4挤到后面去啊?你在插入的时候就直接在第一了?没有指定索引处插入吗?
      

  4.   


    取数据的时候排序,而不是显示到datagridview之前排序。
    就是说sql语句中order by,而不是取到dataset了再排序。
      

  5.   

    取值的时候就按班级排序(sql排序),然后再增加应该也行
      

  6.   


      当然用了索引到具体的位置啊  ds.Tables["glass"].Rows.InsertAt(dr, 4); 
      

  7.   

    将你的排序放在sql中应该就没有问题了
      

  8.   

    我也碰到了同样的问题,但是我后来是通过变通一个方法实现了该功能,在数据库中使用 with roolup先把汇总的统计好,然后直接显示出来的
      

  9.   

    通过SQL查询排序,汇总就不会出现这样的问题
      

  10.   

    请楼主看下我回复的这个帖子,和你问题一样。
    仔细看看,也许可以发现问题。
    http://topic.csdn.net/u/20081223/20/1162f8d2-85e6-4f26-9203-34d0e53caa5a.html