Firemonkey:设置tGrid或替代网格/列表组件的样式(虚拟)

时间:2011-11-02 21:18:16

标签: delphi firemonkey tgrid

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

这个组件非常好,但我无法弄清楚如何扩展或自定义它。 我知道有tCheckbox列,tImage列等,但如果我需要一个ButtonColumn或类似的东西怎么办?

另外,我想基于它所代表的数据的状态来设置一行样式。

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

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

另外,作为一个注释,我不认为TGrid支持Drag&一滴行?

我看过了 Firemonkey version of VirtualTreeViewFiremonkey and large amounts of data

1 个答案:

答案 0 :(得分:6)

如果查看源代码,TCheckColumn只有15行代码。如果您需要创建自己的列后代类,那么它非常简单。 这是一个解决方案,否则您可以在单元格中动态创建一些组件,然后在检查道具时强制转换子项(TColumn.CellControlByRow()返回一个TControl,子项将放在那里)。

当你想要'塑造'你的行时,我建议你自己编写一个TColumn类,即使你可以在OnPaint活动中进行绘画。