在部门界面添加子表

0 开发环境

UAP-STUDIO:6.5.0.2
NCHOME:NC65
DB:Oracle 11g

1 最终效果


2 参考代码

2.1 自己实现一个BillListPanel,用于加载模版,模版需要现在pub_billtemplet表注册,再在单据模版初始化里进行初始化配置

public class RespListView extends BillListPanel{
	
	public void initUI()
	{
		this.loadTemplet();
	}

	public void loadTemplet()
	{
		BillTempletVO billTempletVO = new BillTempletVO();
		billTempletVO = BillUIUtil.getDefaultTempletStatic("DEPTRESPL", null,
				null, null, null, null);
		BillListData billListData = new BillListData(billTempletVO);
		this.setListData(billListData);
		this.getParentListPanel().setTotalRowShow(true);
		this.getHeadBillModel().setEnabled(true);
		this.updateUI();
	}
}

2.2 继承DeptHAppModel,拓展部门树点击事件

public class MyDeptHAppModel extends DeptHAppModel{

	private IUAPQueryBS query = NCLocator.getInstance().lookup(IUAPQueryBS.class);
	private RespListView respListView;
	
	public void setSelectedData(Object selection)
	{
		super.setSelectedData(selection);
		if(selection==null)
			return;
		ResponsibilityVO[] respVOs = getRespVOs(selection);
		respListView.getHeadBillModel().setBodyDataVO(respVOs);
	}

	private ResponsibilityVO[] getRespVOs(Object selection){
		ResponsibilityVO[] rets = null;
		String pk_dept = ((DeptVO)selection).getPk_dept();
		String querysql = String.format("select pk_resp from bd_deptresp where dr=0 and pk_dept='%s'"
				, pk_dept);
		List<Object[]> pks = null;
		try
		{
			pks = (List<Object[]>) query.executeQuery(querysql, new ArrayListProcessor());
			List<ResponsibilityVO> listRespVO = new ArrayList<ResponsibilityVO>();
			for(Object[] objs : pks)
			{
				String pk_resp = (String) objs[0];
				ResponsibilityVO respVO = (ResponsibilityVO) query.retrieveByPK(ResponsibilityVO.class, pk_resp);
				listRespVO.add(respVO);
			}
			rets = listRespVO.toArray(new ResponsibilityVO[listRespVO.size()]);
		}
		catch(Exception ex)
		{
			ExceptionUtils.wrappException(ex);
			Logger.warn(ex);
		}
		return rets;
	}

	public RespListView getRespListView() {
		return respListView;
	}

	public void setRespListView(RespListView respListView) {
		this.respListView = respListView;
	}
	
}

    一样需要调整xml文件来加载自己继承的类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值