Delphi XE4 TGrid如何在双击的行中获取单元格的值?

时间:2013-06-29 19:22:58

标签: delphi firemonkey

我正在使用TGrid类在XE4中编写FMX程序。我想从我在TGrid中双击的行的特定列中提取值。网格从数据库表中加载了字符串(使用实时绑定)。

例如,假设TGrid显示5个x 10列,我对第9列中的值感兴趣。如果我双击第2行中的任何位置,我想要cell的值(row = 2,col = 9)被放入TEdit。

我可能会简单地看待事情,但是在TGrid中,我找不到任何可以根据其(行,列)获取单元格值的函数。

2 个答案:

答案 0 :(得分:4)

您可以使用受保护的方法GetValue

function GetValue(Col, Row: Integer): TValue; virtual;

然后使用ColumnIndexSelected属性,您可以获得当前的col和row。

试试这个

type 
  TGridClass=class(TGrid);

procedure TForm1.Grid1DblClick(Sender: TObject);
begin
  ShowMessage(TGridClass(Sender).GetValue(TGrid(Sender).ColumnIndex, TGrid(Sender).Selected).ToString);
end;

答案 1 :(得分:0)

或者您可以使用类似

的内容
Grid1.Columns[Col].Controls[Row]