WeG*_*ars 5 delphi livebindings delphi-xe7
我不明白 LiveBinding 的目的。我想知道哪些情况下 LiveBinding 最有价值。Embarcadero 的手册对其进行了描述:“LiveBindings 是 RAD Studio 中的 VCL 和 FireMonkey 框架都支持的数据绑定功能。LiveBindings 是一个基于表达式的框架,这意味着它使用绑定表达式将对象绑定到其他对象或数据集字段” .
谢谢,但我仍然不知道比以前更多。
我看过一些视频,其中一个人花费 12 分钟和百分之一的点击将 TLabel 的标题连接到 TListBox 控件。当用户单击 ListBox 中的一个项目时,该项目的名称将显示在 Label 中。我本可以用一行代码(很少击键和没有鼠标点击)来做到这一点。我不是在批评 LiveBinding。我是说我不明白它在哪里有帮助。我错过了一些东西。由于它不是在做一些无法通过代码完成的事情,这意味着它正在做一些可以通过代码完成的事情,但在视觉上要快得多。我承认我没有在这个主题上投入很多时间,但无论我看到什么,我都能看到一种非常复杂的方式(拜托,你真的需要 5 个额外的控件才能使 LiveBinding 工作?)来完成一个简单的任务。
此外,LiveBinding 似乎主要是为 DB 设计的。所有示例都将包含某种数据库连接。但我只对我可以使用 LiveBindings 并且不涉及数据集/数据库的情况感兴趣。我没有那么多使用数据库。
我非常怀疑如果可以使用传统的数据库感知 VCL 组件,任何人都会使用实时绑定。然而,这不是非 VCL 项目(Android、Apple 等)的选项,并且实时绑定是 Emba 提供的唯一用于将数据传递给 TDataSet 后代项目的选项。
实时绑定的一个优点是,除了 Android 和 Apple 目标之外,您还可以在 Windows 应用程序中使用它们,因此可以想象您可以为这三个目标编写相同的(基于 FMX 的)应用程序。
Libe 绑定也可以在 VCL 应用程序中使用,但是说实话,我无法想象为什么有人会使用实时绑定(如果他们只针对 Windows DB 应用程序),因为它们比传统的数据库感知控件慢得多,尤其是多-行的,例如网格。
我自己没有尝试过,但由于实时绑定的实现是基于接口的,因此它的潜在用途远远超出了数据库应用程序,但您必须自己实现接口。它似乎基于一个相当抽象的表达式评估引擎。
在 IDE 中设置 lb 项目似乎比传统的 VCL 应用程序需要更多的点击操作,但这主要是因为还涉及一个额外的步骤,您需要告诉 IDE 如何绑定gui 反对数据源。然而,如果您愿意的话,完全在代码中“连接”实时绑定是非常简单的。
| 归档时间: |
|
| 查看次数: |
1489 次 |
| 最近记录: |