我正在尝试基于FireMonkey创建我的第一个应用程序,然后我撞墙了。 我能找到的唯一虚拟列表控件是tGrid。
这个组件非常好,但我无法弄清楚如何扩展或自定义它。 我知道有tCheckbox列,tImage列等,但如果我需要一个ButtonColumn或类似的东西怎么办?
另外,我想基于它所代表的数据的状态来设置一行样式。
示例:如果行中表示的数据为“Error = True”,则应显示为红色。
有没有人遇到过类似的问题?或者找到备用虚拟列表/网格组件?或者甚至只是关于使用tGrid组件的一些提示。 这些组件在所有数据库应用程序中都非常重要,因此它应该是一个非常常见的请求。
另外,作为一个注释,我不认为TGrid支持Drag&一滴行?
我看过了 Firemonkey version of VirtualTreeView 和 Firemonkey and large amounts of data
答案 0 :(得分:6)
如果查看源代码,TCheckColumn只有15行代码。如果您需要创建自己的列后代类,那么它非常简单。 这是一个解决方案,否则您可以在单元格中动态创建一些组件,然后在检查道具时强制转换子项(TColumn.CellControlByRow()返回一个TControl,子项将放在那里)。
当你想要'塑造'你的行时,我建议你自己编写一个TColumn类,即使你可以在OnPaint活动中进行绘画。