找回密码
 立即注册

QQ登录

只需一步,快速开始

起来睡了

初级会员

16

主题

32

帖子

374

积分

初级会员

积分
374

微信认证勋章

起来睡了
初级会员   /  发表于:2021-3-18 09:58  /   查看:2702  /  回复:2
1金币
本帖最后由 起来睡了 于 2021-3-18 10:01 编辑

2个表格,A和B,点击按钮触发B表格查询命令,把查询出来的内容(多条),插入到A表,如果A表存在记录,先删除再插入。
删除方式是通过数据库命令实现的,插入通过for循环和Forguncy.modifyTablesData方法实现的。

但是每次执行效率感觉不是很高,求助有没有更好的方式来处理这个逻辑。

PS: 顺便问一下Forguncy.addTableData和Forguncy.modifyTablesData的addRows的区别,以及效率哪个更好!
  1. var p = Forguncy.Page;
  2. var source_id = p.getCell("source_id").getValue();
  3. var listview = p.getListView("表格1");
  4. var listViewcount = listview.getRowCount(); //获取表格行数

  5. //循环插入数据
  6. for (var j = 0; j < listViewcount; j++) { //遍历表格
  7.     var FID = listview.getValue(j, "FID"); //获取条件
  8.     var FNAME = listview.getValue(j, "FNAME"); //获取条件
  9.     //Forguncy.addTableData("ELECTRONIC_LICENSE", {
  10.     //指定列名与数据
  11.     // TYPE_ID: FID,
  12.     //TYPE_NAME: FNAME,
  13.     //SOURCE_ID: source_id
  14.     //})
  15.     Forguncy.modifyTablesData({
  16.         ELECTRONIC_LICENSE: {
  17.             addRows: [{
  18.                 TYPE_ID: FID,
  19.                 TYPE_NAME: FNAME,
  20.                 SOURCE_ID: source_id
  21.             }]
  22.         }
  23.     })
  24. }
复制代码




最佳答案

查看完整内容

您好,感觉您这个功能用我们这边的表格传递命令就能做,您可以试一下, 如果问题欢迎继续沟通 命令类型插件 - 表格数据传递命令 https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=48673&fromuid=60953 (出处: 葡萄城产品技术社区)

2 个回复

倒序浏览
最佳答案
最佳答案
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-3-18 09:59:00
来自 2#
您好,感觉您这个功能用我们这边的表格传递命令就能做,您可以试一下,
如果问题欢迎继续沟通
命令类型插件 - 表格数据传递命令
https://gcdn.grapecity.com.cn/fo ... 3&fromuid=60953
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-3-19 09:41:41
3#
关于你的问题我有个疑问哈。为什么需要使用代码,而不是用活字格的内置功能,比如表格传递命令,是因为业务上有什么样的限制么?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部