有谁知道Delphi XE(我在这里说的是VCL)是否有任何与数据感知控件一起使用的通用集合类?换句话说,是否有任何通用类,例如可以分配给 TDataSource.DataSet 的 TObjectList<> 或类似的类?
谢谢。
丹
最佳答案
是的,您可以,使用 ObjectDataSet概念,我认为您最终必须基于链接的示例代码作为起点来实现自己。
示例代码展示了如何融合常规非泛型 TObjectList 和 TDataSet 的概念。它使用 RTTI 来提供您希望附加到它的任何对象类型的任何列表。它使用 RTTI,不需要使用 Generics,而是要求您从 TPersistent 继承。
它的不好的一面是,我已经使用过它,并且我永远不会再使用它。生成的代码很困惑,速度很慢,而且模型很糟糕。下次,我将远离数据感知控件,而简单地使用具有虚拟控件的容器,例如 VirtualTreeView 和 ExGridView。
我认为您没有理由不能以上述代码为基础,并将泛型与数据绑定(bind)结合起来,但我可以看到很多您不应该这样做的原因。
关于Delphi (VCL) 泛型和数据绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6082204/