金蝶云苍穹点击按钮出现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";@Overridepublic void registerListener(EventObject e) {//注册监听this.addItemClickListeners(KEY_TOOLBAR);super.registerListener(e);}@Overridepublic 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);}}//获取选择的数据@Overridepublic 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);}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
