怎样用程序移动dbgrid的记录指针?例如我在一个文本框里输入 "25"然后回车,希望通过事件让dbgrid里的记录移到ID为25的那一条?

解决方案 »

  1.   

    这个简单。
    假设dbgrid相关联的是ADO查询ADOQuery1,代码如下:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
        ADOQuery1.Locate('ID', Edit1.Text, []);
    end;
    详情请参见Locate方法的帮助文档。
      

  2.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if Key = #13 then
        TADOQuery(DBGrid1.DataSource.DataSet).Locate('ID', Edit1.Text, []);//--是ADOQuery
        //--是存储控件或者其它则自己更改
    end;
      

  3.   

    DataSet.First;
    DataSet.MoveBy(25);
      

  4.   

    if Key = #13 then
        ADOQuery1.Locate('ID', Edit1.Text, []);
      

  5.   

    Locate可以。如果你的ID刚好是行数的话,也可以用MoveBy:
    DataSet.First;
    DataSet.MoveBy(25);
      

  6.   

    adodataset1.Locate('ID', Edit1.Text, []);-----怎么总是报“参数类型不正确,或不在可以接受的范围之内”
    我的ID是整型啊!
      

  7.   

    sorry,是我弄错了,locate是可以的