F7设置显示格式为name+isoCode,f7选值后可以正常显示,保存后isoCode的值无法显示
为节约性能在编辑页面加载model时,如果是f7组件则仅查f7对象中部分常用字段,其他字段并没有查询所以导致保存后部分字段无值(例如本例isoCode),但是框架提供了对应的事件可以用来扩展,该事件可用于查询其他的一些字段
2.1 配置页面中添加modelFiledSelector的后台功能:
2.2 在对应的handler中添加额外的查询字段:
package com.kingdee.eas.customer;
import com.kingdee.bos.eventbus.event.model.IModelFieldSelectorEventHandler;
import com.kingdee.bos.eventbus.event.model.ModelFieldSelectorEvent;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.bos.metadata.entity.SelectorItemInfo;
import com.kingdee.bos.webframework.dynamic.handler.AbstractWebEventHandler;
public class ModelFieldSelectorHandler extends AbstractWebEventHandler implements IModelFieldSelectorEventHandler {
@Override
public void onFieldSelect(ModelFieldSelectorEvent event) {
SelectorItemCollection sic = event.getSelectorItemCollection();
//currency是币别的字段名,isoCode是币别f7对象下的字段
sic.add(new SelectorItemInfo("currency.isoCode"));
event.setSelectorItemCollection(sic);
}
}