如何通过后台代码打开列表到页面页签控件原创
金蝶云社区-闫方亮
闫方亮
6人赞赏了该文章 1,324次浏览 未经作者许可,禁止转载编辑于2022年07月13日 17:27:23

一、需求背景

        在某一个页面上的页签控件中显示其他页面的列表界面

二、思路与方案

        在页面上添加页签控件,后台通过插件将列表页面嵌入到页签控件上。主要用到的类kd.bos.list.ListShowParameter

三、实现过程

        3.1创建一个页面添加一个页签如下图3.1所示

        image.png

图3.1

        3.2编写插件类展示其他页面的列表界面,并注册到页面插件类中

public class showListFormPlugin extends AbstractBillPlugIn{

    @Override
    public void afterBindData(EventObject e) {
        super.afterBindData(e);

        ListShowParameter listShowParameter = new ListShowParameter();
        // 显示类型,设置为在容器中显示
        listShowParameter.getOpenStyle().setShowType(ShowType.NewTabPage);
        // 设置要嵌入的单据标识
        listShowParameter.setBillFormId("kdec_purapply");
        // 将页面嵌入哪个容器,容器标识,需要将 targetKey 替换为具体的容器标识,比如你单据上的 test_flex
        listShowParameter.getOpenStyle().setTargetKey("kdec_tabpageap");
        // 设置列表风格
        listShowParameter.setFormId("bos_list");
        // 显示表单
        this.getView().showForm(listShowParameter);
    }
}

四、效果图

        4.1打开列表界面如图4.1所示

image.png

图4.1

五、开发环境版本 

        不限,本样例采用的轻量级环境,版本是: 苍穹版本号 COSMICV4.0.019.0  星瀚版本号 CONSTELLATIONV4.0.019.0

六、注意事项

        编写打开列表界面的时候注意 社区中好多案例中会包含一行代码,列表是没有查看的,不应添加这行代码,如果添加上在列表界面的齿轮设置隐藏字段会出现所有字段不显示,请悉知 如下图。
        // 页面打开状态
        //  listShowParameter.setStatus(OperationStatus.VIEW);

image.png


赞 6