Delphi Firemonkey TGrid的用法
我试图在Delphi Firemonkey GUI库中使用TGrid,我在这里摔得很惨 此时,我的表单中有一个TGrid,由三个单元格、一个字符串单元格和两个复选框单元格组成 在当前执行时,将显示网格,其中包含三个单独的列。但是,不会将任何内容保存到字符串单元格中,除非双击该单元格,否则不会显示复选框单元格。单击复选框单元格以外的位置时,复选框将消失 我想我错过了一些关键的步骤。我为TGrid类找到了一个函数,Delphi Firemonkey TGrid的用法,delphi,firemonkey,tgrid,Delphi,Firemonkey,Tgrid,我试图在Delphi Firemonkey GUI库中使用TGrid,我在这里摔得很惨 此时,我的表单中有一个TGrid,由三个单元格、一个字符串单元格和两个复选框单元格组成 在当前执行时,将显示网格,其中包含三个单独的列。但是,不会将任何内容保存到字符串单元格中,除非双击该单元格,否则不会显示复选框单元格。单击复选框单元格以外的位置时,复选框将消失 我想我错过了一些关键的步骤。我为TGrid类找到了一个函数,OnGetValue和OnSetValue。我想这些肯定与我的问题有关,但问题是我完全
OnGetValue
和OnSetValue
。我想这些肯定与我的问题有关,但问题是我完全不知道如何使用它们
每个调用一个(发送方:TObject;const ACol:Integer;const ARow:Integer;const Value:TValue)
我对发送方做了一个假设,就像在为其他控件创建事件时,您将self
作为发送方的参数传入。ACol和ARow很明显。但是我对TValue参数感到迷茫,因为我似乎无法理解TValue到底是什么。Embarcadero提供了TValue,但它没有告诉我很多有用的东西
在这一点上,我只是想简单地让一个单元格显示它的值,而不是在你点击的时候失去它的值。我知道我一定错过了什么,但我就是不知道该去哪里找。感觉这个网站上的所有问题以及其他与TGrid for Delphi相关的问题都已经过时了(我看到它们一直延伸到2003年)。我最终发现了这个问题
长话短说,数据不在TGrid中(这在我看来很糟糕,但我现在明白了原因)
为了显示数据,TGrid对象本身(而不是列)需要两个事件:
OnGetValue和OnSetValue
OnGetValue从数据结构中请求数据,因此需要一行和一列来定位结构中的数据。它为您将其放入GUI中
OnSetValue的作用正好相反,它从GUI向您的结构数据提供行和列
希望这能对将来的人有所帮助,我花了一段时间才发现Embarcadero没有告诉你什么,或者至少给你指了个地方看看
定义这两种方法的方式与指南中的解释类似。我最终发现了这一点
长话短说,数据不在TGrid中(这在我看来很糟糕,但我现在明白了原因)
为了显示数据,TGrid对象本身(而不是列)需要两个事件:
OnGetValue和OnSetValue
OnGetValue从数据结构中请求数据,因此需要一行和一列来定位结构中的数据。它为您将其放入GUI中
OnSetValue的作用正好相反,它从GUI向您的结构数据提供行和列
希望这能对将来的人有所帮助,我花了一段时间才发现Embarcadero没有告诉你什么,或者至少给你指了个地方看看
定义这两种方法的方式与指南中的解释类似。在旁注中,我不确定您如何看待这些可以追溯到2003年的方法,Firemonkey当时甚至不存在。也许它不是Firemonkey,我只是看到与TGrid相关的东西可以追溯到很久以前,当我试图寻找那些人提到的方法时,它们已经不存在了。答案是显示如何使用TGrid的Delphi代码。我偶然发现了这个答案,它非常模糊。我发现哪一个更有用。顺便说一句,我不知道你怎么看这些可以追溯到2003年的,Firemonkey当时根本不存在。也许它不是Firemonkey,我只是看到与TGrid相关的东西可以追溯到很久以前,当我试图寻找那些人提到的方法时,它们已经不存在了。答案是显示如何使用TGrid的Delphi代码。我偶然发现了这个答案,它非常模糊。我发现哪个更有用一点。