datagrid控件(绑定sql_server)用sort排序后,将第一条记录置为当前记录,且第一条记录可见,此时发现滚动条在最底端。无论点DataGrid控件的向上小箭头,或中间空白区,或直接拖动滚动条,都无法移动滚动条。运行环境:win98+vb6.0+sqlServer2000+DataGrid6.0(SP5)

解决方案 »

  1.   

    datagrid本身隻是recordset的一個載體,不會把數據讀到本身,所有的一切你必須用sql去拍序建議你換成listview比較適合
      

  2.   

    rs.MoveFirst
    Set DataGrid1.DataSource = rs
    試一試
      

  3.   

    我的查询语句如下:
                        With adodc1
                            .connectionString = "..."
                            .RecordSource = "select * from table1 where ztc like '" & tStr & "%' order by frq,ztc"
                            .Refresh
                        End With
                        datagrid1.ReBind   '有无这一句效果一样
    然后,当用户鼠标第一次点击datagrid1的第一列时,datagrid1以该列正序排序,此时滚动条就显示不正确了;当用户鼠标第二次点击datagrid1的第一列时,datagrid1以该列倒序排序,此时滚动条显示正确;等等。只要用户以正序排序该列,其滚动条的位置就不正确了。
    另外,排序用:adodc1.recordset.sort="列名 asc或desc"
      

  4.   

    用recordset打开记录集赋给datagrid(为什么这么多人用ADODC的,不解)Set DataGrid1.DataSource = rs
      

  5.   

    huangjianyou(小健) :
        Adodc有什么不好?我遇到的问题就是因为adodc造成的?
      

  6.   

    huangjianyou(小健) :
       系统中所有的地方都用adodc,如果都改,工程量很大的呀。
      

  7.   

    Adodc问题多多的,你何不要模块定义一个connectionPublic CnnDB As New ADODB.Connection然后每个窗体都调用这个连接串就行了。工程量大好过问题多多,为以后维护代码方便着想。我打开一个记录集再set给datagird的,绝不用adodc绑定。
      

  8.   

    huangjianyou(小健) 提到的可能确实是一个解决办法,但是我现在不太好试。而且从我这边的实际情况来看,不太可行。
    我想,这个会不会是vb的一个bug呢?有没有别的解决办法呢?还望各位不吝赐教。