请问怎么样去取DBGRID的某一行某一列的值?

解决方案 »

  1.   

    dbgrid.datasource.dataset.fieldbyname(字段名).asstring;
    其实,就是从数据集组件里面取得数据!!dbgrid的内容就是table或者query这些tdaatset数据集组件的内容!!
      

  2.   

    要把dataset的指针移到该行才可以安 ttoth12(borlander)的方法做
      

  3.   

    用sql语句直接定位某一行某一列的值,然后再从数据集中取值
      

  4.   

    先将table或者query的指针移动到指定记录(Move方法),然后再用dbgrid.datasource.dataset.fieldbyname(字段名).asstring或query.fieldbyname(字段名).asstring或table.fieldbyname(字段名).asstring
      

  5.   

    偶也想知道 怎么move 到 某个record   ?
      

  6.   

    TDrawGrid(DBGrid1).Col := N;//第N列
    TDrawGrid(DBGrid1).Row := M;//第M行
    DBGrid1.SetFocus;
    然后直接取
      

  7.   

    先定位行对应的记录:DataSet.RecNO := <行>
    然后通过DataSet.Fields[列].Value获得这列的植
      

  8.   

    table1.MoveBy(2);  //拨指针到第三条记录
      edit1.Text := dbgrid1.Fields[0].AsString; //取第一列的值
      

  9.   

    procedure TForm1.Query1AfterPost(DataSet: TDataSet);
    var
      s:string;
    begin
     s:=DBGridEh1.DataSource.DataSet.FieldByName('field').AsString;
    end;
      

  10.   

    偶来总结: 假如是要取n行某列 的值(列名'string')  一个按钮控件 来 激发.一个tedit  来显示
    procedure TForm1.Button1Click(Sender: TObject);
     
        dbgrid.DataSource.DataSet.RecNo:=<n>;
        tedit.text:=dbgrid.DataSource.DataSet.FieldByName('string').asstring;
        end;
      

  11.   

    sailorhare()的完全正确;
        我就是通过这种方式实现的;`
      

  12.   

    procedure xxx(x,y:integer);
    begin
        dbgrid1.DataSource.DataSet.RecNo:=y;
        edit1.text:=DBGrid1.Fields[x-1].AsString
    end;
    注意调用的时候不要让x<1了,那样就X-1出错了~~
    刚试过
      

  13.   

    procedure TForm1.Query1AfterPost(DataSet: TDataSet);
    var
      s:string;
    begin
     s:=DBGridEh1.DataSource.DataSet.FieldByName('field').AsString;
    end;