找回密码
 立即注册

QQ登录

只需一步,快速开始

御灵

金牌服务用户

16

主题

41

帖子

139

积分

金牌服务用户

积分
139
御灵
金牌服务用户   /  发表于:2024-11-19 16:14  /   查看:236  /  回复:11
1金币
本帖最后由 Clark.Pan 于 2024-11-20 14:04 编辑

我监听了TableRowsChanged事件  发现删除的时候可以获取 image.png410676879.png delectItem但是我删除某行,再ctrl+z撤销删除的时候就获取不到insert是哪一行了 监听事件的返回如图 image.png340916442.png 这个该怎么获取呢

最佳答案

查看完整内容

根据截图来看,insertRow的时候 row 为1 :说明是在table中数据区域的第二行(0代表第一行) count 为1 :说明说明插入的行数是1行 isAfter为false:说明是在第二行的行前插入而非行后插入 有上述反馈参数,可以确定插入的是哪一行

11 个回复

倒序浏览
最佳答案
最佳答案
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-19 16:14:20
来自 2#
根据截图来看,insertRow的时候
row 为1 :说明是在table中数据区域的第二行(0代表第一行)
count 为1 :说明说明插入的行数是1行
isAfter为false:说明是在第二行的行前插入而非行后插入
有上述反馈参数,可以确定插入的是哪一行
回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-19 16:43:55
3#
Clark.Pan 发表于 2024-11-19 16:38
根据截图来看,insertRow的时候
row 为1 :说明是在table中数据区域的第二行(0代表第一行)
count 为1  ...

那就是我直接用第几行去获取table的数据是吧
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-19 16:45:51
4#
您好,
您想通过deleteItem判断具体删除/撤销了哪条数据对吗?如果是:
在TableRowsChanged事件中,参数row表示删除行或新增行的索引,以此结合 sheet.getDataSource().getSource() 获取数据源的接口,来获取新增的具体数据。
如下示例:
  1. spread.bind(GC.Spread.Sheets.Events.TableRowsChanged, function (e, data) {
  2.     console.log(data);
  3.     if(data.propertyName === "tableInsertRows") {
  4.         console.log(data.row);
  5.         // 获取数据源
  6.         var dataSource = sheet.getDataSource().getSource();
  7.         var table = sheet.tables.all()[0];
  8.         var tableBindingPath = table.bindingPath();
  9.         // dataSource[tableBindingPath] 返回的为table中的数据源
  10.         console.log("insertDataItem", dataSource[tableBindingPath][data.row])
  11.     }
  12. });
复制代码


回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-19 17:27:38
5#
Lynn.Dou 发表于 2024-11-19 16:45
您好,
您想通过deleteItem判断具体删除/撤销了哪条数据对吗?如果是:
在TableRowsChanged事件中,参数r ...

您好 要是多行删除再撤销 怎么办呢 我看返回count变成3了 但是row还是0
回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-19 17:32:38
6#
image.png24955138.png 如图
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2024-11-19 17:36:41
7#
撤销多行的话,结合row、count值动态调整下从数据源获取对应数据的方法即可。
table数据源本质是一个数组,传递不同的参数即可动态获取想要的某些条数据。上述代码是一个示例,您结合实际业务需求调整下即可。
image.png170427855.png
回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-20 10:10:20
8#
Lynn.Dou 发表于 2024-11-19 17:36
撤销多行的话,结合row、count值动态调整下从数据源获取对应数据的方法即可。
table数据源本质是一个数组 ...

但只监听到了一次事件呀。。是我监听的方式不对吗?
回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-20 10:10:50
9#
image.png190186766.png 用的这种方式
回复 使用道具 举报
御灵
金牌服务用户   /  发表于:2024-11-20 10:34:24
10#
image.png526148681.png 如图 删除了两行再撤回 只监听到了一次
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部