Delphi (VCL) 泛型和数据绑定?

3

请问Delphi XE(我说的是VCL)是否有任何可以与数据感知控件一起使用的通用集合类?换句话说,是否有任何通用类,例如TObjectList<>可以分配给TDataSource.DataSet或类似的东西?

谢谢。

Dan

2个回答

5

是的,您可以使用ObjectDataSet概念实现,我认为您需要根据链接的示例代码自己实现它作为起点。

示例代码展示了如何融合常规非泛型TObjectList和TDataSet的概念。它使用RTTI提供任何您希望附加到其中的列表,任何对象类型。 它使用RTTI,并不需要使用泛型,而是要求您继承TPersistent。

不好的一面是,我曾经使用过它,但我再也不会使用它了。 生成的代码很混乱,速度很慢,模型也很糟糕。 下次,我会远离数据感知控件,仅使用带有虚拟控件(如VirtualTreeView和ExGridView)的容器。

我看不出为什么您不能以上述代码为基础,将泛型与数据绑定结合起来,但我可以看出许多不应该这样做的原因。


谢谢。我有一个感觉答案会是这样的,我只想验证一下我没有错过任何明显的东西。 - Dan Thomas

2

如果需要其他意见:

  • 请参考Stefan Glienke的努力。他是有前途的DSharp的作者。更多信息可以在他的博客上找到。
  • 可以使用DN4D (DotNet4Delphi)。

它们都可以使用泛型集合类,如预期的那样,具有使数据暴露给可视化组件变得非常容易的绑定功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接