为什么滚动DBGRID中的滚动条,ClientDataSetAfterScroll事件不起作用???(已经关联并且有数据)
而用ADOQuery时则可以,即ADOQueryAfterScroll有效果.请问这是怎么回事啊?哪里还需要设置吗?

解决方案 »

  1.   

    那个事件里面我就放了showmessage('test')啊
      

  2.   

    这个可以!
    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;
    这个不行!
    难道大家没有遇到过这样的问题吗?大家帮我想想问题出在哪里啊
    我刚才又重新做了一个,还是不行啊!
    我必须通过我的中间层来取数据啊,我记得以前好像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;