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

标签 delphi generics binding data-aware

有谁知道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/

相关文章:

xaml - 如何在ListView中绑定(bind)Label的FontSize

delphi - 如何在移动应用程序上显示快速\平滑滚动数据集?

Delphi 异常处理 - 如何正确清理?

c++ - 类型类似于泛型函数的模板成员变量

xaml - 是否可以在 XAML 中的 TemplateBinding 上使用转换器?

javascript - 如何在 vue.js 中定位自定义元素( native Web 组件)?

delphi - 如何处理在运行时与设计时创建的子组件和属性?

德尔福XE3 : Chr Ansi Version?

Java 6 Map.get() 类型安全意外行为(?)

c# - 将非通用集合转换为通用集合的最佳方法