nc65 打开节点后直接展示数据(主子表)

1.节点对应的xml文件中找到打开节点监听的配置
<!-- 打开节点监听 newadd-->
	<bean id="InitDataListener" class="nc.ui.pubapp.uif2app.model.DefaultFuncNodeInitDataListener">
		<property name="model" ref="bmModel"/>
		<property name="context" ref="context"></property>
		<property name="voClassName" value="nc.vo.frm_alm.stress_test_plan.AggStressTestPlanVO"/>
	</bean>

2.在如下图所示的包中新建监听器,继承nc.ui.pubapp.uif2app.model.DefaultFuncNodeInitDataListener类,重写initData


@SuppressWarnings("unchecked")
	@Override
	public void initData(FuncletInitData data) {
		if(null == data){
			AggStressTestPlanVO[] bills = null;
			try {
				bills = NCLocator.getInstance().lookup(IStress_test_planMaintain.class).query();
				this.getModel().initModel(bills);
			} catch (Exception e) {
				Logger.error("初始化界面出错!");
			}
		}else{
			super.initData(data);
		}
	}

3.在IStress_test_planMaintain接口中增加query方法,并在对应的实现类中实现该方法

@Override
	public AggStressTestPlanVO[] query() throws BusinessException {
		AggStressTestPlanVO[] bills = null;
		EfficientBillQuery<AggStressTestPlanVO> query = new EfficientBillQuery<>(AggStressTestPlanVO.class);
		bills = query.query(" from alm_stress_test_plan where isnull(dr,0)=0 ");
		return bills;
	}

4.修改第一步中的配置,改为自己新增的监听器保存即可。

5.主子表和单表在实现该功能的时候主要的区别就是在获取数据是API调用的不同,主子表要获取的聚合的VO,而且子表的数据属于懒加载,在列表页上点击主表的一条数据后才会加载子表的数据

猜你喜欢

转载自blog.csdn.net/u014714841/article/details/80355148