根据单据体控件字段值,设置行背景颜色原创
金蝶云社区-唐佐平
唐佐平
4人赞赏了该文章 207次浏览 未经作者许可,禁止转载编辑于2024年04月24日 13:57:06

       碰到一个需求【苍穹6.0的界面规则已经可以设置行背景颜色,之前版本需要插件实现】,根据单据体中某个字段的值,来设置某一行数据的背景颜色,在社区上没有找到现成的方法,采用另外一种方式,来实现了这个需求,具体过程如下:

1、在initialize事件中,监听单据体控件

@Override
public void initialize() {
    super.initialize();
    EntryGrid entry_app = this.getControl("单据体标识");
    entry_app.addPackageDataListener(this::packageData_App);
}

2、在packageData方法中,设置单据体行背景颜色:

private void packageData_App(PackageDataEvent event){
    boolean isextendapp = event.getRowData().getBoolean("isextendapp");
    if (isextendapp){
        //设置行背景颜色
        IClientViewProxy proxy = this.getView().getService(IClientViewProxy.class);
        ClientActions.createRowStyleBuilder() .setRows(new int[]{event.getRowIndex()})
                .setBackColor("#FFFFCD").buildStyle().build().invokeControlMethod(proxy, "单据体标识");
    }
}


赞 4