网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Pascal/Delphi >

一步一步学习使用LiveBindings(4) 使用LiveBinding

时间:2025-08-02 09:26

人气:

作者:admin

标签:

导读:假定有一个TStringGrid控件和一个TListBox控件,想要同步两个控件的数据显示,比如在TStringGrid上输入一个字段串,在TListBox控件上马上看到更新,这通常需要编写事件处理代码。LiveBinding...

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

请按如下的步骤来实现这个例子:

1. 单击主菜单中的 File > New > Multi-Device Application - Delphi > Blank Application ,创建一个新的多设备应用程序。
建议立即单击工具栏上的Save All按钮,将单元文件保存为uMainForm.pas,将项目保存为LiveBinding_DataSync.dproj。

你的项目结构应该像这样:
img

2. 从工具面板,拖如下的控件到主窗体。

  • TPrototypeBindSource —— 将提供示例数据。
  • TBindNavigator —— 将为示例数据提供导航功能。
  • TListBox —— 将显示某些信息(例如AlphaColor名称)。
  • TStringGrid —— 将显示关于示例数据的所有信息。

右击PrototypeBindSource1控件,从弹出的菜单中选择“Fields Editor”,添加BitmapName和ColorsName 2个示例字段,如下图所示。
img

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

绑定连接如下:

  • 将 PrototypeBindSource1 的 * 属性绑定到 BindNavigator1 的 * 属性。
  • 将 PrototypeBindSource1 的 * 属性绑定到 StringGrid1 的 * 属性。
  • 将 PrototypeBindSource1 的 * 属性绑定到 ListBox1 的 Synch 属性。
  • 将 PrototypeBindSource1 的 BitmapName1 属性绑定到 ListBox1 的 Item.Text 属性。

ListBox和ListView都有Synch绑定项,主要作用如下:

  • 保持选中项同步:当你在 TListBox 中选择一个项目时,它会自动同步到绑定的数据源中的对应记录
  • 双向数据流:不仅从数据源到 UI 的显示同步,还包括从 UI 选择回到数据源的同步

TStringGrid的*绑定到PrototypeBindingSource1的*,则表示使用PrototypeBindingSource1中的所有字段自动创建TStringGrid的列。

注意:如果数据源的结构发生变化(如字段增减),绑定 * 的网格会自动调整列结构以匹配。

现在,可以看到LiveBindings的双向数据绑定的威力,当然目前仍然没有过多的编码,也没有涉及到任何的细节,不用急,在这个系列中,将会逐渐进行深入。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信