低代码 根据源表的勾选项向目标表中插入相关数据的实现方法(复制数据)
低代码 根据源表的勾选项向目标表中插入相关数据的实现方法(复制数据)
1、定义(全局变量):注意一定要初始化为数组arr()
2、打开勾选页面的交互(设置参数值):注意不要把null赋给数组变量,否则数组变量会变成字符串
IF(LEN(param6)<=0,IF(model13.totalRowCount__>0,QUERY(model13.team_code),ARR()),param6)
3、勾选框的回显:
IF(input21.value IN param6,1,0)
4、勾选框的交互(勾选、取消勾选):设置参数值
${ CASE WHEN checkbox1.value=1 THEN CONCAT(param6,input21.value) WHEN checkbox1.value=0 THEN FILTER(param6,@!=input21.value) END }
5、勾选页面确定按钮(只需关闭对话框,无需做其他交互)
因为对话框只是页面的一部分,在最后提交的时候做(删除数据、复制数据)
6、最后提交数据集
a、删除数据:数据模型(目标表)根据条件删除符合条件的所有记录(无需暂存,直接提交)
b、复制数据:勾选列表的数据模型克隆后,重新加工,保留需要导入到目标表的字段,其中主键如果是整数自增的处理如下
*列加工:
如果主键名称一样,则重命名原主键,列加工的主键名称要和目标表的主键名称相同
数据模型中的seqnum只计算一次,故采用如下方法实现
TOINT(SEQNUM('team_join_overtime_manage')+(case when row()<10 then '00' when row()<100 then '0' else '' end)+row())
***勾选的中间过程不用管,只需要修改数组变量的值用于回显等即可,最后直接提交,大功告成!