前言:
Delphi FireMonkey 的 LiveBindings 可以用来直接绑定界面元素和一个对象的属性,这样就可以把对象的值显示到界面上。常见的是将数据库 DataSet 的数据显示到界面上。
如果数据是一组对象,放到一个 TObjectList 里面,该如何做?
以下操作在 Delphi 10.4 社区版上测试通过。
正文开始:
1. 有一个对象:
TMyDev = class
private
FDevID: string;
FDevName: string;
FIsOnline: Integer;
FIsSelected: Integer;
public
property DevID: string read FDevID write FDevID;
property DevName: string read FDevName write FDevName;
property IsOnline: Integer read FIsOnline write FIsOnline;
property IsSelected: Integer read FIsSelected write FIsSelected;
end;
2. 有一个存储对象的列表:
FDevList: TObjectList<TMyDev>;
3. 拖一个 PrototypeBindSource1 到 Form1 上面。双击它,弹出字段编辑器窗口。
3.1. 字段编辑器窗口左上角有个 add new 的图标,或者右键点击字段编辑器窗口出下拉菜单选择 add,添加一个字段。
3.2. 字段编辑器窗口里面,选择添加的字段,给它的 Name 属性设置名字,给 FieldType 属性设置这个字段的数据类型。这里要注意,字段名字要和该字段对应的对象的属性名字完全一样。
3. 拖一个 ListView 到 Form1 上面。右键点击下拉菜单,选择 Bind Visually 菜单,IDE 的底部出现可视化绑定的界面,在这个界面里面拉线实现绑定。
3.1. 把 ListView1 的 Synch 拉线连接 PrototypeBindSource1 的星号(*)上面。
3.2. 把 ListView1 的 ItemText 拉线连接 PrototypeBindSource1 的 DevID 字段;
4. 选择界面上的 PrototypeBindSource1,在 IDE 的属性窗口的事件页,

这篇博客介绍了如何在Delphi FireMonkey中使用LiveBindings将TObjectList对象中的TMyDev实例数据绑定到ListView,详细步骤包括创建对象、设置PrototypeBindSource、绑定事件及刷新数据。
最低0.47元/天 解锁文章
5288

被折叠的 条评论
为什么被折叠?



