又碰到问题了!怎么样取dbgrid的任意一单元格的值呢?如第二行第三列?在鼠标没有选择单元格的情况下怎么取到值?网上有说用TStringgrid(Dbgrid).cells[a,b]方法的,我用了,但是报错!还有其他办法吗?

解决方案 »

  1.   

    Edit1.Text:=dbgrid1.SelectedField.AsString;
      

  2.   

    procedure TForm1.DBGrid1CellClick(Column: TColumn);
    begin
      showmessage(dbgrid1.Fields[dbgrid1.selectedindex].AsString);
    end;
      

  3.   

    先first,然后next,然后dbgrid1.fields[2].asstring
      

  4.   

    改用DBGridEh 先定位行,用DBGridEh的Row属性,如定位第5行: DBGridEh.Row:= 5;
    再定位列,由DBGridEh的字段属性取值,如第3列:DBGridEh.Fields[2].AsString
      

  5.   

    dbgrid只能取当前行的列数据,通过dbgrid.datasource.dataset.fieldbyname('field123').asstring
    取其它行,只能把dataset.moveby到那一条记录再取