我是初学者,请教大家一个问题,我是在dbgrid1 显示数据,光标在上面移动;我用adoquery1事件可以,而用query1
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
     edit8.Text:='当前记录为: '+inttostr(query1.RecNo)+'/'+inttostr(query1.RecordCount );end;
procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
begin
     
     edit8.Text:='当前记录为: '+inttostr(datasource1.DataSet.RecNo )+'/'+inttostr(query1.RecordCount );
end;
两种方法为什么记录号都不改动?

解决方案 »

  1.   

    procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
    begin     
      edit8.Text:='当前记录为: '+inttostr(DataSet.RecNo )+'/'+inttostr(query1.RecordCount );
    end;
      

  2.   

    试用:
    1。
    procedure TForm1.Query1AfterScroll(DataSet: TDataSet);
    begin
    edit8.Text:='当前记录为: '+inttostr(qeury1.RecNo )+'/'+inttostr(query1.RecordCount );
    end;
    2。
    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin  edit8.Text:='当前记录为: '+inttostr(qeury1.RecNo )+'/'+inttostr(query1.RecordCount );
    end;
      

  3.   

    procedure form1.DataSource1DataChange(Sender: TObject;
      Field: TField);
    begin
      lb_RecNo.Caption:='当前记录:'+IntToStr(DataSource1.DataSet.RecNo);
      lb_RecCount.Caption:='记录总数:'+IntToStr(DataSource1.DataSet.RecordCount);
    end;
      

  4.   

    ft,RecordCount是记录的总数量,怎么改啊!
    如果你想知道当前的记录号用No
      

  5.   

    用query是不行的﹐因為recno總是-1.
    建議用adoquery。