前台列表界面添加操作列后台代码动态添加操作项原创
金蝶云社区-闫方亮
闫方亮
6人赞赏了该文章 2,322次浏览 未经作者许可,禁止转载编辑于2022年01月07日 09:11:27

本文主要是写如果前台没有配置操作项,后台代码动态的去添加操作项的一个列表插件

插件类示例如下:

public class DynamicAddListFormPlugin extends AbstractFormPlugin implements CreateListColumnsListener, BeforeBindDataListener {

    @Override
    public void initialize() {
        super.initialize();
        BillList billList = this.getControl("billlistap");
        // 注册监听
        billList.addCreateListColumnsListener(this);
        billList.addBeforeBindDataListener(this);
    }

    @Override
    public void createListColumns(BeforeCreateListColumnsArgs arg0) {
        // 获取columns,增加几个列
        List<IListColumn> columns = arg0.getListColumns();
        //这个是获取操作列,就是前台的列表界面配置了操作列,如果没有配置操作列这里取不到
        ListOperationColumn listOperationColumns= (ListOperationColumn)columns.get(3);
        //如果想前台不配置操作列  没有配置操作列自己去构造操作列对象把必须要的属性跟配置上操作列的属性填一致,
        //这个里面的属性比较多
                    //ListOperationColumn ss=new ListOperationColumn();
        //获取操作项的集合
        List<OperationColItem> list=listOperationColumns.getOperationColItems();
        //这些具体操作按钮的属性可以先前台配置上自己业务所需要的操作项然后打断点去查看每个操作项对应的属性是什么,
        //打断点的目的就是为了查看对应操作的Id,为了后面动态添加某一个操作时使用。
        //然后再自己去创建操作对象,再添加到操作项集合中
        OperationColItem c=new OperationColItem("2+5W9PSM1YIL",0,"删除","delete","",true,"","");
        OperationColItem d=new OperationColItem("2+5W9PsM1Z6V",0,"修改","modify","",true,"","");
        //将添加的操作添加到操作列上就可以了。
        list.add(c);
        list.add(d);
    }

    @Override
    public void beforeBindData(BeforeBindDataEvent beforeBindDataEvent) {

    }

这个就可以后台添加上操作项,如果后续要根据列表中的字段值去控制操作项的显示与隐藏,可以设置操作项的visible属性,具体的可以在社区里面搜索。

图标赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0