修改表单字段的颜色原创
金蝶云社区-阿丁编程
阿丁编程
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);
}

达到的效果如图:

image.png


以上效果就是字段的值和名称都变红色了,但是其实很多时候是只希望值变颜色,字段名称不变色,经过一番研究,得到如下的写法

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

达到的效果如下图:

image.png



列表的字段可以直接通过界面规则配置即可实现。

如下图:

image.png

image.png


完美!

上传图片




图标赞 11
11人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!