如何获取DBGRID选中单元格的坐标,
目的为了用快捷键在下面弹出修改窗口!

解决方案 »

  1.   

    将 DBGrid 的ShowHint 设置为true;
    在DBGrid的 OnMouseMove事件中写上
    procedure TForm1.dbgrd1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    var
      Coord : TGridCoord;
    begin
      Coord := dbgrd1.MouseCoord(X,Y);  //获取当前指针坐标对应的Grid行列坐标
      if Coord.Y < 1 then Exit;  dbgrd1.DataSource.DataSet.RecNo := Coord.Y;
      dbgrd1.Hint := dbgrd1.DataSource.DataSet.FieldByName('你要显示数据的列名').AsString;
    end;
      

  2.   


    var
      cowrxy:TGridCoord;
    begin
      cowrxy:=dbgrd1.MouseCoord(X,Y);
      

  3.   

    TDrawGrid(DBGrid1).Col
    TDrawGrid(DBGrid1).Row
      

  4.   

    TDrawGrid(DBGrid1).Col
    TDrawGrid(DBGrid1).Row
      

  5.   

    1.窗体的Private 中字义:ColIndex:Integer;//得到当前选中的列标
    2.DbGrid的OnColEnter事件中添加
    begin
      ColIndex:=dbgrid.SelectedIndex;
    end;
    3.在窗体上添加一个Action,定义好快捷键,OnExecute中写
    begin
      Case ColIndex of 
        0:begin
      //编辑窗
         end;
        1:Begin
      //对应编辑窗
        end;
    end;