请问Delphi XE(我说的是VCL)是否有任何可以与数据感知控件一起使用的通用集合类?换句话说,是否有任何通用类,例如TObjectList<>可以分配给TDataSource.DataSet或类似的东西?
谢谢。
Dan
请问Delphi XE(我说的是VCL)是否有任何可以与数据感知控件一起使用的通用集合类?换句话说,是否有任何通用类,例如TObjectList<>可以分配给TDataSource.DataSet或类似的东西?
谢谢。
Dan
是的,您可以使用ObjectDataSet概念实现,我认为您需要根据链接的示例代码自己实现它作为起点。
示例代码展示了如何融合常规非泛型TObjectList和TDataSet的概念。它使用RTTI提供任何您希望附加到其中的列表,任何对象类型。 它使用RTTI,并不需要使用泛型,而是要求您继承TPersistent。
不好的一面是,我曾经使用过它,但我再也不会使用它了。 生成的代码很混乱,速度很慢,模型也很糟糕。 下次,我会远离数据感知控件,仅使用带有虚拟控件(如VirtualTreeView和ExGridView)的容器。
我看不出为什么您不能以上述代码为基础,将泛型与数据绑定结合起来,但我可以看出许多不应该这样做的原因。
如果需要其他意见:
它们都可以使用泛型集合类,如预期的那样,具有使数据暴露给可视化组件变得非常容易的绑定功能。