真的很迷惑:烦了一天了,
为什么滚动DBGRID中的滚动条,ClientDataSetAfterScroll事件不起作用???(已经关联并且有数据)
我在ClientDataSetAfterScroll事件中的语句仅是
showMessage(ClientDataSet.FieldByName('vesseleng').AsString) ;
而用ADOQuery时则可以,即ADOQueryAfterScroll有效果.请问这是怎么回事啊?哪里还需要设置吗?后来我还试了一个按钮事件中写了ClientDataSet.next居然也没有调用,
到底是什么地方有问题啊???好烦!

解决方案 »

  1.   

    ClientDataSetA没用过,ADOQuery可以那为什么不用ADOQuery呢??帮你顶先
      

  2.   

    >>为什么滚动DBGRID中的滚动条,ClientDataSetAfterScroll事件不起作用
    我在我的代碼試過, 是有作用的啊!
    檢查你的代碼是不有有問題
      

  3.   

    大哥,就一个语句,我在哪里去检查代码啊???
    是不是我的DELPHI有问题了啊,好烦啊
      

  4.   

    建義楼主重新做一個: Test Application procedure TForm1.Button1Click(Sender: TObject);
    begin
      ClientDataSet1.FileName := 'C:\Program Files\Borland\Delphi7\Demos\DbClx\mybasexplorer\animals.xml';  //是DEMO
      ClientDataSet1.Active := true;
      {接DBGrid1}
    end;procedure TForm1.ClientDataSet1AfterScroll(DataSet: TDataSet);
    begin
      Edit1.Text := DataSet.FieldValues['Name'];
    end;
      

  5.   

    我刚才又重新做了一个,还是不行啊!
    我必须通过我的中间层来取数据啊,我记得以前好像ClientDataSet.next时会调用的,现在也不行了,真是莫名其妙的问题啊,我是通过SocketConnection,通过外(内)网取得数据的我测试的源代码如下:(dbgrid能显示数据的!)
    procedure TForm1.Button2Click(Sender: TObject);
    begin
      sqlStr := 'select vesseleng,VESSELCHN,E_VOYAGE,I_VOYAGE,ARRIVE_DATE,SAILDATE,REGION,VOYAGEKEY from t_voyage ' ;
      cdsMain := pubdb.selectMainSql_Ado(sqlStr) ;
      DBGrid1.DataSource := DataSource1 ;
      DataSource1.DataSet := cdsMain ;end;procedure TForm1.CDSMainAfterScroll(DataSet: TDataSet);
    begin
      sqlstr := 'xxc'  ;
      showMessage(sqlstr) ;
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
      cdsMain.Next ;
    end;
      

  6.   

    cronuz的例子我试过了,也可以!
    但是我自己写的为什么不行呢???都能显示数据啊,也关联上了啊!
      

  7.   

    我在afterScroll中用個showMessage, 顯示很正常啊
      

  8.   

    越来越奇怪,我发现我用的clientdataset必须用dbgrid运行期连上它才能显示数据
    DBGrid1.DataSource := DataSource1 ;
    DataSource1.DataSet := cdsMain ;
    而如果在设计时连上根本没有效果,没有数据显示出来!
    问题肯定是出在这里,但是为什么呢?我用 cronuz(cronus) 的例子却可以在设计时连上就能显示数据!
      

  9.   

    兩個問題可能是相互獨立的!>>而如果在设计时连上根本没有效果,没有数据显示出来!
    檢查是不是設置了 dbgrid 的顯示字段?>>ClientDataSetAfterScroll事件不起作用???(
    是不是有設置 AfterScroll 事件 重定向的???
      

  10.   

    to aiirii(ari-爱的眼睛) 
    我什么都没有去设置啊,
    如果在运行时去连clientdataset就会有数据显示出来啊,就是不起作用啊,但是强行调用它就行,
    clientdataset除了那个事件外没有任何事件了,