如何增加额外的Selector

1.样例说明

Web平台的编辑界面,是根据当前申请URL中billId组织数据,组织数据的原则是按编辑界面的控件内容按需加载的。但是,有些相对特殊的业务需求中要求返还到编辑界面的业务数据包含一些额外的非界面控件的内容。因此,Web平台提供了一个com.kingdee.bos.eventbus.model.ModelFieldSelectorEvent。 可以在定义工具中的界面控制的事件管理中,增加一个插件,提供一个ModelFieldSelectorEvent事件的中处理器

2.样例配置

配置页面信息如下图所示:
表格冻结

3.关键代码

3.1后台事件处理程序Handler如下:

package com.kingdee.eas.custom;

    import com.kingdee.bos.BOSException;
    import com.kingdee.bos.eventbus.event.action.KDActionEvent;
import com.kingdee.bos.webframework.exception.WafException;
import com.kingdee.bos.webframework.dynamic.handler.AbstractWebEventHandler;
import com.kingdee.bos.eventbus.event.action.IActionEventHandler;
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;

public class ModelFieldSelectorHandler extends AbstractWebEventHandler implements IModelFieldSelectorEventHandler {
	@Override
	public void onFieldSelect(ModelFieldSelectorEvent event) {
		SelectorItemCollection sic = event.getSelectorItemCollection();
		//增加额外的编辑页面分录字段
		sic.add(new SelectorItemInfo("entrys.dEntrys.qty"));
		sic.add(new SelectorItemInfo("entrys.dEntrys.item"));
		sic.add(new SelectorItemInfo("entrys.dEntrys.item.name"));
	
                event.setSelectorItemCollection(sic);
	}
} 

4.样例演示

1.配置页面

2.预览页面

相关样例