UEP-主从表

本文介绍了一种使用AjaxDataWrap进行主从表数据查询与展示的方法,详细解释了如何通过覆盖getExtendDataWrapName方法来指定从表的属性名称,并展示了具体的查询操作实现,包括主表与从表的检索过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Master Model:主表数据
Detail Model:从表数据


//页面中展示多个DataWrap时,用这个方法说明扩展的DataWrap对应的属性名称

@Override
public List<String> getExtendDataWrapName() {
    List<String> list = new ArrayList<String>();
    list.add("detailWrap");
    list.add("invoiceWrap");
    return list;
}

//action:设计几张表定义几个AjaxDataWrap get、set方法

private AjaxDataWrap<UepCustomer> dataWrap = new AjaxDataWrap<UepCustomer>();
private AjaxDataWrap<UepContract> detailWrap = new AjaxDataWrap<UepContract>();
private AjaxDataWrap<UepInvoice> invoiceWrap = new AjaxDataWrap<UepInvoice>();
/**
     *主表查询操作
     */
    @Override
    public void retrieve() {
        QueryParamList params = getQueryParam("dataWrap");
        dataWrap.setDataList(uepCustomerUepContractService.masterRetrieve(params, dataWrap.getPageInfo()));
        responseData.setAjaxDataWrap("dataWrap", dataWrap);
    }
    
    /**
     *从表查询操作
     */
    public void detailRetrieve() {
        QueryParamList params = getQueryParam("detailWrap");
        params.addParam("customerId",new BigDecimal (customerId));
        detailWrap.setDataList(uepCustomerUepContractService.detailRetrieve(params, detailWrap.getPageInfo()));
        responseData.setAjaxDataWrap("detailWrap", detailWrap);
        
        QueryParamList params1 = new QueryParamList();
        params1.addParam("customerId",new BigDecimal(customerId));
        invoiceWrap.getPageInfo().setRowOfPage(5);
        List<UepInvoice> dataList = uepCustomerUepContractService.invoiceRetrieve(params1, invoiceWrap.getPageInfo());
        invoiceWrap.setDataList(dataList);
        responseData.setAjaxDataWrap("invoiceWrap",invoiceWrap);
    }
    /**
     *初始化
     */
    @Override
    protected void initTreat() {
        super.retrieveAfterInit = true ;
        this.dataWrap.getPageInfo().setRowOfPage(15);
        this.invoiceWrap.getPageInfo().setRowOfPage(15);
        this.detailWrap.getPageInfo().setRowOfPage(15);
    }
 function showDetail(cell){
     var baseData = detail.collectData(true);
     //获取从表的信息
     var dataArr = [];
     dataArr.push(baseData);
     var customerId = cell["id"];    //通过行对象获取主表ID
     //var record = master.getRecord(cell.rowIndex);
     //var customerId = record.get("id");
     $.request({
         action:"detailRetrieve",
         pageparam:"all",
         data:dataArr,
         params:{
             customerId:customerId
         },
         success:oncomplete
     });
 }
 function oncomplete(){
     detail.setData(response.getAjaxDataWrap("detailWrap"));
   var invoiceWrap = response.getAjaxDataWrap("invoiceWrap");
   invoiceGrid.setData(invoiceWrap);

}

 

转载于:https://www.cnblogs.com/bhy-1116/p/8315271.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值