金蝶云苍穹修改单据列表界面字段颜色

在列表页面注册单据列表插件
插件要继承AbstractListPlugin

public class SetFieldColorPlugin extends AbstractListPlugin {
    
    
    //加载数据后触发
    @Override
    public void afterBindData(EventObject e) {
    
    
    	//固定写法,获取列表控件都使用这个billlistap
        BillList billList = this.getControl("billlistap");
        //获取列表所有行
        ListSelectedRowCollection allList = billList.getCurrentListAllRowCollection();
        List<CellStyle> cellStyles = new ArrayList<>();
        for(int i=0;i<allList.size();i++){
    
    
            ListSelectedRow row = allList.get(i);
            //获取行数据的PK
            Object primaryKeyValue = row.getPrimaryKeyValue();
            DynamicObject object = BusinessDataServiceHelper.loadSingle(primaryKeyValue, "单据标识");
            //获取要判断的字段
            String exeResult = object.getString("字段标识");
            //这里将值为success的字段的颜色设置为绿色,failure的字段设置为红色
            if(StringUtils.equals(exeResult,"success")){
    
    
                CellStyle style = new CellStyle();
                //设置字段名
                style.setFieldKey("字段标识");
                //设置行号
                style.setRow(i);
                //设置前景色
                style.setForeColor("LimeGreen");
                style.setFontSize(13);
                cellStyles.add(style);
            }else{
    
    
                CellStyle style = new CellStyle();
                style.setFieldKey("字段标识");
                //设置行号
                style.setRow(i);
                //设置前景色
                style.setForeColor("Red");
                style.setFontSize(13);
                cellStyles.add(style);
            }

        }
        billList.setCellStyle(cellStyles);
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Evain_Wang/article/details/112846845