procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
   Row:Integer;
begin
     Row:=DbGrid1.MouseCoord(x,y);
end;

解决方案 »

  1.   

    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      Row:Integer;
    begin
        Row:=DbGrid1.MouseCoord(x,y);
    end; 
      

  2.   

    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      Row:Integer;
    begin
        Row:=DbGrid1.MouseCoord(x,y);
    end; 测试通过
      

  3.   

    DBGrid1CellClick(Column:TColumn);
    判断Column即可判断选中哪个字段。
      

  4.   

    在DBGrid中有一个OnCell事件,在其中定义一个整形变量,获取数据库表的记录值,并应用到DBGrid中即可。
      

  5.   

    用DBGrid中有一个OnCellClick事件,在其中获取数据表的记录值可以通过和DBGrid的处理取得行数!!!
      

  6.   

    to wk_knife(我是石油工人多荣耀,头戴铝盔走天涯):
    阁下所示,好像是编译不过哟!!!
      

  7.   

    o!sorry!那是Delphi 格式的如此如此   int Row=DBGrid1->MouseCoord(X,Y);
      

  8.   

    int row := DBGrid1.DataSource.DataSet.RecNo + 1;
      

  9.   

    int row := DBGrid1.DataSource.DataSet.RecNo + 1; 
      

  10.   

    dbgrid中被你点击的那一行实际就是相连数据集中的第几条记录,在oncellclick中写:
    currentrow := dbgrid1.datasource.dataset.recno + 1;
      

  11.   

    哈哈,
    to machin(刷新一下):你的例子,不能对键盘起作用.
    要取得DBGrid1的行列,就只要用.类.... 等一下我帮你做个小例子,
      

  12.   

    哈哈,例子做好了(通过),正是你所要的,取得DBGrid1的行列: (给分吧,要多点:)
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Grids, DBGrids, DB, DBTables;type
      TForm1 = class(TForm)
        Table1: TTable; 
        DataSource1: TDataSource; 
        DBGrid1: TDBGrid;  
        Label1: TLabel;
        procedure DBGrid1ColEnter(Sender: TObject);
        procedure DataSource1DataChange(Sender: TObject; Field: TField);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}type
      TFake = class (TDBGrid);  //注意这里procedure TForm1.DBGrid1ColEnter(Sender: TObject);
    begin
      Label1.Caption := Format ('Column: %2d; Row: %2d',
                                [TFake (DbGrid1).Col,TFake (DbGrid1).Row]);
    end;procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
    begin
      DBGrid1ColEnter (sender);
    end;end.
      

  13.   

    procedure TForm1.DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
      Row:Integer;
    begin
        Row:=DbGrid1.MouseCoord(x,y);
    end; 
    这是错的。
    ROW是整形而mousecoord是tgridcoord,类形不配
      

  14.   

    DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        ShowMessage(IntToStr(Query1.RecNo));
    end; 
      

  15.   

    to:afeisky(刀光剑影(离开xkx@MUD的日子)) 你的例子也有错。
      

  16.   

    试过
    DBGrid1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
        ShowMessage(IntToStr(Query1.RecNo));
    end; 
    吗?????????????????????