金蝶云苍穹点击按钮出现F7列表弹窗,并获取选择中行的数据

点击按钮需要重写itemClick事件 , 弹出F7列表需要ShowFormHelper.createShowListForm()方法, 获取选择的数据需要closedCallBack方法

public class ShowListForm extends AbstractBillPlugIn {
    //工具栏
    private static final String KEY_TOOLBAR = "tbmain";
    //按钮
    private static final String KEY_GENERATE_REPORT = "Weighted";
    //单据标识
    private static final String KEY_FORMID = "formid";
    //单据体标识
    private static final String KEY_ENTRY_ID = "entryentity";
   
    @Override
    public void registerListener(EventObject e) {
    //注册监听
        this.addItemClickListeners(KEY_TOOLBAR);
        super.registerListener(e);
    }

    @Override
    public void itemClick(ItemClickEvent evt) {
        super.itemClick(evt);
        String itemKey = evt.getItemKey();
        if (KEY_GENERATE_REPORT.equals(itemKey)) {
            //第一个参数为列表的单据标识,第二个参数为是否支持多选
            //创建弹窗
            ListShowParameter showParameter = ShowFormHelper.createShowListForm(KEY_FORMID, true);
            DynamicObject dataModel = this.getModel().getDataEntity();
            String xcno = dataModel.getString("xcno");
            QFilter qFilter = new QFilter("xcno", QCP.like, xcno);
            qFilter.and(new QFilter("billstatus",QCP.equals,"C"));
            qFilter.and(new QFilter("billtypefield",QCP.equals,BILL_TYPE_COAL));
//设置列表的过滤条件
            showParameter.getListFilterParameter().setFilter(qFilter);
            showParameter.setCloseCallBack(new CloseCallBack(this, KEY_GENERATE_REPORT));
            //展示弹窗列表
            this.getView().showForm(showParameter);
        }
    }
    //获取选择的数据
    @Override
    public void closedCallBack(ClosedCallBackEvent e) {
        super.closedCallBack(e);
        //e.getReturnData 可以获取到所选数据
        if (e.getReturnData() != null && StringUtils.equals(KEY_GENERATE_REPORT, e.getActionId())) {
            ListSelectedRowCollection returnData = (ListSelectedRowCollection) e.getReturnData();
            //获取到所选数据的主键id集合
            Object[] primaryKeyValues = returnData.getPrimaryKeyValues();
            boolean isRegular = isRegularReport(primaryKeyValues);
            if(!isRegular){
                return;
            }
            //跟据主键id去查询对应的单据,然后进一步操作
            generateWeightedReport(primaryKeyValues);
        }
    }
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值