3

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

例如,假设 TGrid 显示 5rows x 10columns,我对第 9 列中的值感兴趣。如果我双击第 2 行中的任意位置,我希望将 cell(row=2, col=9) 的值放入在 TEdit 中。

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

4

2 回答 2

4

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

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

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

尝试这个

type 
  TGridClass=class(TGrid);

procedure TForm1.Grid1DblClick(Sender: TObject);
begin
  ShowMessage(TGridClass(Sender).GetValue(TGrid(Sender).ColumnIndex, TGrid(Sender).Selected).ToString);
end;
于 2013-06-29T20:25:55.697 回答
0

或者你可以使用类似的东西

Grid1.Columns[Col].Controls[Row]
于 2014-07-10T07:02:41.027 回答