在DBGRID中,知道了行号和字段名的情况下怎样去取对应原字段值?

解决方案 »

  1.   

    错了一个字,应为:在DBGRID中,知道了行号和字段名的情况下怎样去取对应的字段值?
      

  2.   

    dbgride是通过DATASOURCE 和TABLE OR QUERRY相连
    只要清楚是和什么东西相连就可以取出了
    table1.fieldbyname('sdfadsf').asstring
      

  3.   

    通過行號 定位到該記錄, 直接讀該 dbgrid 連接的 table!!
      

  4.   

    guolvguolv(guolvguolv) :谢谢你,但table1.fieldbyname('sdfadsf').asstring取得是当前行的数据,我要的是指定行的数据,但我不想进行先选择再取.
      

  5.   

    请教aiirii(aiirii) :我不想先定位,造位光标的移动,在某些情况下不友好.有办法吗?
      

  6.   

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

  7.   

    angle097113(深思不解):我试过了,还是不行,下面是我的代码,麻烦您看看,不胜感激:
    procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      RowIndex,ColumnIndex:Integer;
    begin
      RowIndex:=DBGrid1.MouseCoord(X,Y).Y-1;
      ColumnIndex:=DBGrid1.MouseCoord(X,Y).X-1;//根据 ColumnIndex 可得知字段名:
      if (columnindex>=0) and (rowindex>=0) and (columnindex<=dbgrid1.Columns.Count) then
      begin
        DBGrid1.DataSource.DataSet.RecNo:=rowindex;
       // table1.RecNo:= rowindex;
        //table1.DataSource.DataSet.RecNo:=rowindex;
        edit1.Text:=dbgrid1.DataSource.DataSet.fieldbyname(dbgrid1.Columns[ColumnIndex].FieldName).AsString;
       // edit1.Text :=dbgrid1.Columns[ColumnIndex].FieldName ;
      end;
    end;