PropertyChange事件更新值处理原创
323次浏览
编辑于2024年01月12日 13:33:30
PropertyChange事件中存在更新值的场景,如果使用getmodel.setValue方式会再次触发PropertyChange,针对这种场景有几种方式可以解决。
方式一:
使用 this.getModel().initValue方式赋值
方式二:
更新数据包的方式处理
DynamicObject data = this.getModel().getDataEntity(true);
data .set("field",null);
方式三:
使用页面缓存pageCache设置标志位解决,当触发PropertyChange时判断标志位
方式四:
使用属性方法setValueFast方式赋值
DynamicObject dataEntity = this.getModel().getDataEntity();
IDataEntityType dataEntityType = dataEntity.getDataEntityType();
DataEntityPropertyCollection properties = dataEntityType.getProperties();
properties.get("entity").setValueFast(dataEntity,null);
推荐阅读