批量填充传入自定义规则原创
金蝶云社区-qsmy
qsmy
2人赞赏了该文章 637次浏览 未经作者许可,禁止转载编辑于2023年03月31日 17:49:08

开发平台COSMIC.BOS V5.0.016支持了批量填充传入自定义规则的功能。

插件写法如下:

public class BatchFillEntryPlugin extends AbstractFormPlugin {

    /**
     * 批量填充前指定自定义规则
     * @param e 事件参数
     */
    @Override
    public void beforeBatchFillEntry(BeforeBatchFillEntryArgs e) {
        // e.getPredicate().and把自身的条件并且到原条件
        e.setPredicate(e.getPredicate().and(rowItem -> {       // 注意:不建议直接覆盖自己的条件
            IDataEntityProperty selProp = rowItem.getSelProp();
            int row = rowItem.getRow();
            // 根据字段标识、row行号
            switch (selProp.getName()) {
                // 整数字段填充奇数行
                case "integerfield":
                    return row % 2 == 0;
                // 文本字段填充指定值
                case "textfield":
                    Object val = this.getModel().getValue(selProp.getName(), row);
                    return "fillme".equals(val);
                // 其余字段填充遵循默认规则
                default:
                    return true;  // 返回false则其它字段不能被填充
            }
        }));
    }
}


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