怎样复制一行数据(带子表数据)

请问一下老师们怎样实现?

我主表中包含有一个子表,主表中一条数据里,关联的子表可能存在多条数据。我想实现复制主表的一条数据,同时子表中包含的数据一并复制。

谢谢!!

声明一个单行数据变量 A = 当前主表的数据

单行数据变量A. 子表 = 当前主表数据.子表

单行数据变量A.保存

老师,我试了,我可能没有设置没有对,复制不了子表数据。可以远程指导一下吗?

这个没用什么好远程的,你应该直接发页面截图出来,我现在就指出问题了 :joy:

老师,我找不到你说的声名变量的主表和子表的数据,我按我的理解弄的。我知道是错的,但我不知道怎样设置。请指教!谢谢!!

上面回复的是:不带页面交互的,怎样复制一条数据。

其实在你现在这个场景中,是可以更简单的解决这个问题。你先要想清楚你要做什么?数据要怎样传递?

你希望 点击【复制新增」时,复制一条新的数据,然后修改新的这条数据。

对应的逻辑就是:

  1. 「复制新增」事件里面, 表单组件.显示模式.值 = 录入 。 (你是录入一条新的数据,而不是继续修改旧的数据)
  2. 表单组件.表单模型.值 = 表格组件.操作的单行数据.值 (即给新的数据 默认值)
  3. 表单组件.表单模型.主键ID = 空 ( 主键要清空,否则会认为还是就旧的一条数据)

然后 去掉 表单提交后的事件配置。 因为当前本身就是在保存新的数据。 (你当前的配置就会导致, 先修改了旧的数据,然后复制保存一条新的数据)

1 Like

老师,我就是第3点没有弄明白,还要麻烦你一下。
“表单组件.表单模型.主键ID =” 这里面只有固定值和变量值两个选项。我不知道怎样操作赋空值给主键ID。
还要麻烦一下老师。

就这样不填写,也可以

image


老师,我这样试过的,会出错。

要理解前面的设置逻辑!

根据这个提示,自己想想怎么解决。

老师,我弄错了,我误以为指令编号是主键ID了。我用这种方法只复制了主表的数据,子表的数据打开时是读出来的了,提交保存后,没有存储起。我的理解是,如下图“添加操作步骤数据”这个过程在此项复制新增中没有执行。

请教老师一下,这个操作怎样实现?

打开表单时,子表的数据读出来了,说明在这一刻子表数据已经复制了。

提交保存后,没有存储。可能是 复制数据时,子表.关联主表字段 有值,还是关联的旧的主表数据。 解决办法就是: 子表.关联主表字段 = 空

1 Like

老师,我还是没有弄明白。试过几种方式,始终是子表没有存储动作。请老师远程一下,帮我解决一下带子表复制的数据功能。谢谢老师。

@layne 试下这个场景,贴下 复制新建后的代码

1 Like

@myliyn

1 Like

老师已经可以了,谢谢你。你们非常有耐心的为初学者进行一个指导和耐心讲解,非常非常非常非常的感谢。
主要原因是我把子表的表名更改成一个字段的名称,干扰了我,始终找不到子表。