数据库:MS SQL SERVER 2000    开发语言:DELPHI
表bfda(fh,type);表(fh,flag,stime)视图bfda_bfyk
(select fh, type,flag stime from dbo.bfda left outer join  dbo.bfyk on  dbo.bfda.fh = dbo.bfyk.fh)用table取得数据bfda_bfyk,能分别按fh,type,flag排序, 加一Timer每秒刷新一次table。按fh排序没问题,按type,flag分别排序,焦点在dbgrid中上下移动时都会出问题:dbgrid中的数据不按要求排序,不断跳动。请问大侠,这是怎么问题,如何解决?

解决方案 »

  1.   

    建議用 Clientdatset + DataProvider 配合 dbexpress or AdoXXX 來存取 SQLServer的數據, 你說的問題會沒有的
      

  2.   

    beforescorll里timer停止
    afterscroll里timer开始。
    不知道行不行
      

  3.   

    是你设计的问题,其实要获得实时的数据可以不用每秒刷新的方法,
    在《Delphi 7从入门到精通》中有一个获取实时数据的方法。
    就是当DBGrid中移动到该条记录时候调用ClientDataSet的
    RefreshRecord。当前那条记录。
      

  4.   

    TIMER的问题阿。
    他一直在刷新阿。
    你的DBGRID不跳才怪
      

  5.   

    Clientdatset + DataProvider哪里有下?