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);
}
}