我有一个动态填充的wxGrid。我想存储一些不应向用户显示的行的信息。将数据与行关联的最佳方法是什么?我应该创建一个隐藏的列还是有更好的方法?
答案 0 :(得分:3)
创建隐藏列是最快的,但确实是一种非常难看的方法。如果您可以证明这一努力,那么您应该更好地创建自己的网格表基类。您自己的 wxGridTableBase 派生类可以保存您需要的任何信息,而无需在网格中显示它。不幸的是,该类的文档很少或几乎不存在。
有关示例,请参阅wxWidgets示例目录中的网格演示,特别是 BugsGridTable 类。您将注意到,您不一定存储网格将显示的字符串,但您可以使用 GetValue()方法格式化数据。在内存消耗方面,这可以更好,因为您可以即时更改显示数据的格式。
切换到自定义网格表基类对FlameRobin(Firebird关系数据库的管理工具)的结果集数据网格的速度,内存消耗和功能产生了很大影响。您可以随时查看我们如何使用wxGrid的源代码。
答案 1 :(得分:0)
使用SetRowLabelValue将值存储在行标签中并隐藏行标签。