修改表单字段的颜色原创
11人赞赏了该文章
2,511次浏览
编辑于2023年02月02日 11:34:23
有些需求需要根据字段的值修改字段的颜色,就只能通过代码进行控制
论坛最常见的解决方案是如下代码设置
@Override public void afterBindData(EventObject e) { super.afterBindData(e); // 创建 map 对象存放修改的控件属性值 Map<String, Object> map = new HashMap<String, Object>(); // 设置字段前景色为红色 map.put(ClientProperties.ForeColor, "#ff0000"); // 更新某个字段的属性 this.getView().updateControlMetadata("billstatus", map); }
达到的效果如图:
以上效果就是字段的值和名称都变红色了,但是其实很多时候是只希望值变颜色,字段名称不变色,经过一番研究,得到如下的写法
@Override public void afterBindData(EventObject e) { super.afterBindData(e); // 根据自定义样式获取“加密”编码后的自定义样式字符串 String customStyleGreen = "eyJ0eXBlIjowLCJjb250ZW50IjoiJCA+IGRpdjpudGgtY2hpbGQoMikgPiBkaXYge1xyXG5cdGNvbG9yOiBncmVlbiAhaW1wb3J0YW50O1xyXG59In0="; // 获取控件 BillStatusEdit billstatusControl = this.getControl("billstatus"); // 设置控件的自定义样式 billstatusControl.setCustomeStyles(customStyleGreen); // 获取设置样式之后的配置信息 Map<String, Object> codfig = billstatusControl.createClientConfig(); // 更新某个字段的属性为当前的自定义样式 this.getView().updateControlMetadata("billstatus", codfig); }
达到的效果如下图:
列表的字段可以直接通过界面规则配置即可实现。
如下图:
完美!
赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读