为什么DBGrid的垂直滚动条不能滚动?其属性除了“Datasource”其他都没改动过。

解决方案 »

  1.   

    呵呵,楼主,我还是不太明白你说的如果你是说你调用 dataset.next 方法不能够滚动到下一条,那谢谢,请各位前来解答
      

  2.   

    不可能吧。
    可以试一下:adoquery1.first
    看它是不是可以移动如果还不行那就没办法啦。。
      

  3.   

    是这样的 啦,database desktop就是这样的
      

  4.   

    奇怪,这种现象我没遇到过,你的Delphi是不是有问题?重装试一下吧!
      

  5.   

    不知道你说的是不是在拉滚动条的时候,数据不滚动。而只有当松开的时候,他就突然一下子跳到送开的地方了?如果是这样,
    好象有一个属性是用来控制滚动的。如果还不行。我建议用一下第三方的控件。
    DBxGrid
      

  6.   

    没遇到这样的问题。
    是不是有语句老是把dataset的指针移到最后,
    或者是Dataset.DisableControls了。
      

  7.   

    joycici(高级乞丐) 对,就是这个问题
      

  8.   

    DBGrid的滚动条对鼠标的滚轮支持的不好,一直就是这个样子的
      

  9.   

    我再次说明一下情况:
    点了滚动条,数据可以滚动,但滚动条的滑块就是不动,比如数据都到第一条了,滑块还是在最下面。
    然而又不是所有的DBGrid都会这样,仅有几个出现了这个问题。DataSource和DataSet除了必要的属性,其他都没改动过的。
      

  10.   

    原因是这样的。
    DBGRID因为数据是分段从数据库读取的,当你滚动滚动条时DBGRID并没有从数据库里读取下一批数据,因此不能滚动。而当点击上下箭头或拖动后,DBGRID重新得到了数据,所以可以移动。
    至于DXDBGRID也只是在LOADALL模式下可以拖动,否则和DBGRID一样。LOADALL模式下数据集所有数据都已经得到,所以可以滚动。
      

  11.   

    你是用DBE连接的数据库吧,我也遇到过这样的类似的问题,换成ADO连接数据库问题就解决了。你试试看
      

  12.   

    我就是用ADO连接数据库的,问题一样