我想读取dbgrid表格中指定行的内容,比如说第5行,该如何得到

解决方案 »

  1.   

    //可以对dbgrid对应的dataset操作,example:adoquery.firstr;adoqry.moveby(5);
      

  2.   

    用TQuery读呗。
    var daq : TQuery;
    ...i:=1;
    while not daq.Eof do
    begin
      if i>=5 then break;
      daq.Next;
      i:=i+1;
    end;这时daq不就指向第5行了么……然后用FieldByName或FindField来读。
      

  3.   

    我都有同样的问题啊!
    例如dbgrid表格中有10行10列的数据,我想实现鼠标单激(如第5行第5列)其中一格就得到鼠标当前所在的位置(鼠标在第几行第几列)或直接得到该格中的值!
    应该点做啊?
      

  4.   

    ?没太明白是这样?DBGrid1读取ADODataSet1中的数据procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      edit1.Text := ADODataSet1.Fields[3].AsString;
    end;
      

  5.   

    补充:Fields[3]是字段位置,自已写
    ADODataSet1.Fields[3].AsString;
      

  6.   

    其实本质都是操作DATASET的数据游标嘛
    1 判断当前游标的位置  dbgrid1.DataSource.DataSet.RecNo
    2 通过循环下调用moveby()  next 之类的游标操作方法来使游标定位到指定位置
    3.就直接操纵dbgrid1.DataSource.DataSet了 fieldbyname().value 或者fields[i].Value不就什么都取到了么
      

  7.   

    DBGrid.DataSource.DataSet.RecNo := 行号;
    变量 := DBGrid.DataSource.DataSet.FieldByName('字段名称').AsString;