delphi - FireUI 的 TStringGrid - 在绘制时设置值

标签 delphi firemonkey

我对 Delphi XE7 的 FireMonkey TStringGrid 的使用让它拥有一百万行。用数百万个字符串填充 TStringGrid 的内容会消耗太多内存。

在绘制单元格时如何设置它们的值?

当单元格滚动到 View 中时,我的代码将从一个巨大的临时文件中填充单元格的内容。

我的应用程序的旧版本中的 TurboPower Orpheus TOvcTable 组件使用称为 OnGetCellData() 的 Hook 来完成此操作。我在 FireUI 的 TStringGrid 中没有看到类似的东西。

最佳答案

而不是 TStringGrid使用 TGridTColumn列。然后使用 OnGetValue事件以获取值以在网格中显示。这是最接近 VCL小号 TDrawGrid .

procedure TForm1.Grid1GetValue(Sender: TObject; const Col, Row: Integer;
  var Value: TValue);
begin
  Value := inttostr(col)+', '+inttostr(row);
end;

具有 10 个 mio 行的网格的示例结果:

enter image description here

关于delphi - FireUI 的 TStringGrid - 在绘制时设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36481457/

相关文章:

macos - 如何在 fireMonkey Rad studio XE2 中为 Mac Osx 创建/编辑文本文件 (.rtf)?

delphi - 如何在网络浏览器中禁用退格键

delphi - 有谁知道delphi有什么好的对接组件吗?

android - 在 Delphi 10.3.3 上以 Android API 29 为目标

delphi - 如何在delphi中使用fmx扩展

android - Delphi Firemonkey 移动版中的自定义备忘录或文本选择?

delphi - FMX IOS 11.1 Rad Studio 的用户代理问题

android - 如何正确清理 Android 监听器?

delphi - 如何将 TDateTime 转换为 FILETIME?

delphi - 在Delphi中,TDBGrid上单击的标题的含义是什么?