7

我正在尝试基于 FireMonkey 创建我的第一个应用程序,但我碰壁了。我能找到的唯一虚拟列表控件是 tGrid。

这个组件很不错,但我不知道如何扩展或自定义它。我知道有 tCheckbox 列、tImage 列等,但是如果我需要 ButtonColumn 或类似的东西怎么办?

我还想根据它所代表的数据状态来设置一行的样式。

示例:如果行中表示的数据具有“Error=True”,则应显示为红色。

有没有人遇到过类似的问题?或者找到替代的虚拟列表/网格组件?甚至只是一些关于使用 tGrid 组件的提示。这些组件在所有数据库应用程序中都非常重要,因此它应该是一个非常常见的请求。

另外请注意,我认为 TGrid 不支持拖放行吗?

我查看 了 VirtualTreeViewFiremonkey 的 Firemonkey 版本以及大量数据

4

1 回答 1

6

如果查看源代码,TCheckColumn 只有 15 行代码。如果您需要创建自己的列后代类,这非常简单。这是一种解决方案,否则您可以在单元格中动态创建一些组件,然后在检查道具时投射子代(TColumn.CellControlByRow() 返回一个 TControl,而子代将是您放入其中的内容)。

当您想为您的行设置“样式”时,我建议您编写自己的 TColumn 类,即使您可以在 OnPaint 事件中进行绘画。

于 2011-11-03T16:19:21.750 回答