单据列表如何实现不同状态的行数据显示不同行背景色原创
金蝶云社区-技术支持与赋能部_ZH
技术支持与赋能部_ZH
9人赞赏了该文章 3,583次浏览 未经作者许可,禁止转载编辑于2022年04月15日 13:43:06

关键词:单据列表,行,背景色

一、需求背景

需要根据列表某字段状态将某些具有特殊含义的数据行添加背景颜色以区分。

二、思路与方案

先获取单据列表的每个字段。然后遍历单据列表,给符合条件的单据行每个字段添加背景色即行添加背景色。

三、实现过程

1、创建列表插件,并注册

10.png


2、重写beforeCreateListColumns方法,实现业务逻辑

public void beforeCreateListColumns(BeforeCreateListColumnsArgs args) {
        List<IListColum> listColumns= args.getListColumns();//获得列表所有的字段
        List<CellStyle> cslist=new ArrayList();
        BillList bl= this.getControl("billlistap");
        DynamicObjectCollection dCollection= QueryServiceHelper.query("单据标识", "id,billno,billstatus", null,"billno desc");
        for (int x = 0; x < dCollection.size(); x++) {
             //根据单据状态给行添加背景色
             String billstatus=(String)dCollection.get(x).get("billstatus");
             if(billstatus.equals("C")) {
                    //给行添加背景色
                     for (IListColum lc : listColumns) {
                            CellStyle cs=new CellStyle();
                            cs.setFieldKey(lc.getListFieldKey());
                            cs.setBackColor("green");
                            cs.setRow(x);
                            cslist.add(cs);
                     }
             }
        }
        bl.setCellStyle(cslist);
    }


四、实现效果

11.png

五、开发环境版本­­­­

4.0.012.0

六、参考资料

【开发平台】指导手册

学习成长中心


赞 9