单据列表如何实现不同状态的行数据显示不同行背景色原创
9人赞赏了该文章
3,583次浏览
编辑于2022年04月15日 13:43:06
关键词:单据列表,行,背景色
一、需求背景
需要根据列表某字段状态将某些具有特殊含义的数据行添加背景颜色以区分。
二、思路与方案
先获取单据列表的每个字段。然后遍历单据列表,给符合条件的单据行每个字段添加背景色即行添加背景色。
三、实现过程
1、创建列表插件,并注册
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); }
四、实现效果
五、开发环境版本
4.0.012.0
六、参考资料
推荐阅读