时间:2025-08-02 09:26
人气:
作者:admin
假定有一个TStringGrid控件和一个TListBox控件,想要同步两个控件的数据显示,比如在TStringGrid上输入一个字段串,在TListBox控件上马上看到更新,这通常需要编写事件处理代码。LiveBindings提供了双向数据绑定,让开发人员可以分分钟实现一个多控件同步的程序,这个示例的运行效果如下图所示:

请按如下的步骤来实现这个例子:
1. 单击主菜单中的 File > New > Multi-Device Application - Delphi > Blank Application ,创建一个新的多设备应用程序。
建议立即单击工具栏上的Save All按钮,将单元文件保存为uMainForm.pas,将项目保存为LiveBinding_DataSync.dproj。
你的项目结构应该像这样:

2. 从工具面板,拖如下的控件到主窗体。
右击PrototypeBindSource1控件,从弹出的菜单中选择“Fields Editor”,添加BitmapName和ColorsName 2个示例字段,如下图所示。

3. 接下来右击任意位置,从弹出的菜单中选择“Bind Visually”菜单项,打开LiveBindings Designer,在设计器中,开始进行快速绑定操作。

绑定连接如下:
ListBox和ListView都有Synch绑定项,主要作用如下:
TStringGrid的*绑定到PrototypeBindingSource1的*,则表示使用PrototypeBindingSource1中的所有字段自动创建TStringGrid的列。
注意:如果数据源的结构发生变化(如字段增减),绑定 * 的网格会自动调整列结构以匹配。
现在,可以看到LiveBindings的双向数据绑定的威力,当然目前仍然没有过多的编码,也没有涉及到任何的细节,不用急,在这个系列中,将会逐渐进行深入。
IDE工具RAD Studio 13 Florence重磅发布:64 位