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

标签 delphi firemonkey tgrid

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

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

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

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

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

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

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

最佳答案

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

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

关于delphi - Firemonkey:设计 tGrid 或替代网格/列表组件的样式(虚拟),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7987449/

相关文章:

delphi - 使用 ICoreWebView2 的打印功能打印多份副本

当 header 中没有返回字符集时,REST 请求内存泄漏

德尔福火猴网格: Invisible Columns When Navigating

delphi - 如何根据XE4中的值更改FMX.TGrid行的背景颜色

delphi - 在网格上拖动时拖动图像更改

delphi - 如何在 Vista 上安装 Delphi 7

macos - 如何在 Mac 上永久安装 Delphi XE5 应用程序

delphi - 带 Canvas 的Delphi视觉组件

delphi - Embarcadero FireMonkey 3D 相机旋转和缩放

delphi - 最有用的 Delphi TStringGrid (Grid) 替代品推荐