单据体根据条件隐藏操作列某一个操作项原创
金蝶云社区-闫方亮
闫方亮
10人赞赏了该文章 1,712次浏览 未经作者许可,禁止转载编辑于2022年02月19日 18:13:10

1.首先在单据体中添加操作列控件配置操作项【修改】【删除】

image.png

2.编写页面插件类,实现其中的initialize()方法 根据操作项的标识和需要的条件去判断操作项的隐藏

操作项的标识是通过操作项配置时获取的。

image.png

public class OperationColitemsPlugin extends AbstractFormPlugin{

@Override
public void initialize() {
    super.initialize();
    EntryGrid entryGrid=this.getControl("kdec_entryentity");
    entryGrid.addPackageDataListener(pkEvent -> {
        Object str = pkEvent.getRowData().get("model"); //获取了规格型号
        if (pkEvent.getSource() instanceof OperationColumn && "kdec_operationcolumnap".equalsIgnoreCase(((OperationColumn) pkEvent.getSource()).getKey())) {
            List<OperationColItem> operationColItems = (List<OperationColItem>) pkEvent.getFormatValue();
            for (OperationColItem operationColItem : operationColItems) {
                if ("delete".equalsIgnoreCase(operationColItem.getOperationKey()) && str.toString().equals("44452322222")) {  //匹配操作项的标识跟规格型号
                    operationColItem.setVisible(false);
                    operationColItem.setLocked(true);
                }
            }
        }
    });
}

}

3.最终达到的效果

image.png



赞 10