找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

高级会员

139

主题

367

帖子

1170

积分

高级会员

积分
1170
gnip
高级会员   /  发表于:2024-7-29 20:38  /   查看:1191  /  回复:6
1金币
image.png265022887.png 填报批量提交这里如何能拿到填报设定 image.png168645323.png 只有这两项,需要拿到填报设定的那个数组信息,, image.png967461242.png 这个事件的 image.png68944396.png 这里可以拿到 image.png757031860.png ,虽然这里能拿到,但是我想在batch那里也能获取对应的rules乃至改动的单元格信息,有api能获取么

最佳答案

查看完整内容

您好 ,关于table信息,其实是一一对应的。 如果在A表中定义了batch ,在batch中的changes 来源于A表。 其次是row,col坐标,可以从reportSheet.getChanges()中获取。 具体可以查看附件

6 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-29 20:39:00
来自 6#
您好 ,关于table信息,其实是一一对应的。

如果在A表中定义了batch ,在batch中的changes 来源于A表。
image.png229523314.png


image.png276443175.png

其次是row,col坐标,可以从reportSheet.getChanges()中获取。
  1.   let newChanges = []

  2.                     reportSheet.getChanges().forEach(tableItem => {
  3.                         if (tableItem.records.length > 0) {
  4.                             tableItem.records.forEach(reItem => {
  5.                                 let other = null, i = 0, j = 0;
  6.                                 for (const key in reItem.info) {
  7.                                     j++
  8.                                     const reItemElement = reItem.info[key]
  9.                                     if (reItemElement.state == 'updated') {
  10.                                         i++
  11.                                         other = {
  12.                                             row: reItemElement.row,
  13.                                             col: reItemElement.col,
  14.                                             type: 'update'
  15.                                         }
  16.                                     }
  17.                                 }
  18.                                 if (i !== j) {
  19.                                     newChanges.push(Object.assign({}, reItem.entity, {tableName: tableItem.rule.tableName, ...other}))
  20.                                 }

  21.                             })
  22.                         }
  23.                     })

  24.                     changes.forEach(item => {
  25.                         if (item.type == 'insert' || item.type == 'delete') {
  26.                             newChanges.push(item)
  27.                         }
  28.                     })
  29.                     console.log('newChanges',newChanges)
复制代码
具体可以查看附件


多表查询,动态控制菜单栏.html

10.05 KB, 下载次数: 140

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-30 15:44:58
2#
let sheet = spread.getActiveSheetTab()
let templateSheet = sheet.getTemplate()
const dataEntrySetting = templateSheet.getDataEntrySetting();
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-30 16:17:41
3#
Ellia.Duan 发表于 2024-7-30 15:44
let sheet = spread.getActiveSheetTab()
let templateSheet = sheet.getTemplate()
const dataEntrySe ...

我意思是bath数组里面返回的不是更后字段项的数据嘛,这里数组没有标识来源哪个表,需要得到对应表做些业务处理
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-30 18:09:31
4#
  1.   let sheet = spread.getActiveSheetTab()
  2.             let templateSheet = sheet.getTemplate()
  3.             const row = sheet.getSheet().getActiveRowIndex(), col = sheet.getSheet().getActiveColumnIndex()
  4.             const designTemplateCell1 = sheet.getTemplateCell(row, col)
  5.             let field = designTemplateCell1.binding;
复制代码


回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-30 18:18:11
5#
本帖最后由 gnip 于 2024-7-30 18:20 编辑

image.png977612609.png 这个参数,addTable里面的batch函数, image.png189642943.png ,最终其实打印出来,是没有对应数据字段的表信息,以及更改的字段属于哪个单元格,位置这些(row,col)
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-29 14:23:14
7#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部