使用kbmMW SmartBinding经验几则
1.用#Caption绑定Listview显示内容
当Listview外观(ItemAppearance)设置为ListItem时,一定要用#Caption来绑定。
FBinding.Bind(DisplayDataSet,DisplayFieldName,ListView1,'#Caption');
我遇到坑,用了#Title来绑定,当Listview使用SearchBox进行过滤后,重新绑定时,ListView不显示Item的Title,改成Caption,解决这一问题。
2.绑定Listview时,要清空SearchBox的内容。这个必须的,不然会产生绑定内容错误。
3.对于FMX项目,一定要引用kbmMWSmartBindFMX单元,VCL项目,引用kbmMWSmartBindVCL单元
不引用,当执行绑定时,可能产生错误:Unknown member:#Title in type TListView of SmartBind,最后引用上面单元解决。说起来简单,可憋了我一晚上,还跟作者通了几封邮件也没搞定的。
4.当不需要绑定时,可以停止数据源与显示控件的更新,这能提高应用的性能
FBinding.UpdateEvent.Activate(False);
SmartBind是用Scheduler来同步数据的,上面一行代码用UpdateEvent来中止同步,参数为True是开始同步。