我试图从TGrid的特定细胞中获取价值,但没有成功。我试过这样的事情
//Here i get value with a success but i need to get value from first column and
no matter what row it is clicked
TForm1.Grid1GetValue(Sender: TObject; const ACol,ARow: Integer; var Value: TValue);
begin
if grid1.Selected <> -1 then
x:= Value.ToString
end;
例如我点击第三行..我需要第一列第三行单元格的值。我怎么能这样做?
答案 0 :(得分:1)
如果您阅读OnGetValue
事件的documentation,则会说:
当网格需要从外部存储库中检索值以用作此网格中某个单元格的内容时发生。
将OnGetValue事件处理程序写入从外部存储库中检索值时采取特定操作,以用作此网格中某个单元格的内容。
这是在虚拟类型模式下使用网格时,将数据存储在网格外部(在数组,数据库等中)。 TGrid
本身不存储任何数据。您可以根据需要使用提供的ACol
和ARow
值来访问自己的数据存储。
如果要将数据存储在网格本身中,请改用TStringGrid
,它具有Cells
属性来存储字符串。