Kingdee Cloud Sky modify the field color of the document list interface

Register the receipt list plugin on the list page. The
plugin should inherit 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);
    }
}

Insert picture description here

Guess you like

Origin blog.csdn.net/Evain_Wang/article/details/112846845