找回密码
 立即注册

QQ登录

只需一步,快速开始

白鱼

中级会员

54

主题

205

帖子

523

积分

中级会员

积分
523
白鱼
中级会员   /  发表于:2022-11-23 11:10  /   查看:1189  /  回复:7
1金币
翻看社区帖子发现插入时选择活动单元格下移在RowChanging、RowChanged事件中触发,但是和正常插入一行的参数是相同的
https://gcdn.grapecity.com.cn/showtopic-81924-1-1.html
请问有没有其它事件可以监听到插入一个单元格的操作?在上方插入一个单元格和插入一行需要做不同的处理,在左边插入一个单元格和插入一列也需要做不同的处理,如何区分这几种操作呢?
但是我验证的时候发现插入一行时RowChanged中arg.row和arg.oldValue的值不会相同,而插入一个单元格时,args.row默认是最后一行,此时没有增加新行,args.oldValue和args.row是相等的,如果没有其它区分方式,是否可以通过这两个值临时做区分呢?

最佳答案

查看完整内容

你好,你提到“插入一个单元格时,没有增加新行”是不对的,这种情况下会插入到最后一行的下面。另外,excel的概念里并没有插入一个单元格的概念,一定是整列或者整行插入的。 你可以比较row和oldValue的值,如果相同的话就是单元格下移,即在最下面插入一行。否则就是在第row行插入一行。

7 个回复

倒序浏览
xcymoo
超级版主   /  发表于:2022-11-23 11:31:43
来自 5#
白鱼 发表于 2022-11-23 11:28
但是还有一个问题,那我就无法知道是在那个单元格进行的插入了

可以获取到当前选中的单元格:
https://demo.grapecity.com.cn/sp ... sheet#getselections
回复 使用道具 举报
最佳答案
最佳答案
xcymoo
超级版主   /  发表于:2022-11-23 11:10:40
来自 2#
你好,你提到“插入一个单元格时,没有增加新行”是不对的,这种情况下会插入到最后一行的下面。另外,excel的概念里并没有插入一个单元格的概念,一定是整列或者整行插入的。
你可以比较row和oldValue的值,如果相同的话就是单元格下移,即在最下面插入一行。否则就是在第row行插入一行。
回复 使用道具 举报
白鱼
中级会员   /  发表于:2022-11-23 11:26:16
3#
xcymoo 发表于 2022-11-23 11:24
你好,你提到“插入一个单元格时,没有增加新行”是不对的,这种情况下会插入到最后一行的下面。另外,exce ...

好的,感谢
回复 使用道具 举报
白鱼
中级会员   /  发表于:2022-11-23 11:28:30
4#
xcymoo 发表于 2022-11-23 11:24
你好,你提到“插入一个单元格时,没有增加新行”是不对的,这种情况下会插入到最后一行的下面。另外,exce ...

但是还有一个问题,那我就无法知道是在那个单元格进行的插入了
回复 使用道具 举报
白鱼
中级会员   /  发表于:2022-11-23 11:35:21
6#
xcymoo 发表于 2022-11-23 11:24
你好,你提到“插入一个单元格时,没有增加新行”是不对的,这种情况下会插入到最后一行的下面。另外,exce ...

活动单元格下移的时候,并不会拿到当前单元格的位置。通过args.sheet.getActiveRowIndex()、args.sheet.getActiveColumnIndex()也只能获取到当前单元格的位置,当用户选中一个区域的时候,无法获取这个区域
回复 使用道具 举报
白鱼
中级会员   /  发表于:2022-11-23 11:36:58
7#
xcymoo 发表于 2022-11-23 11:31
可以获取到当前选中的单元格:
https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sh ...

好的,感谢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-11-23 12:08:42
8#
那本帖就先结贴了,有问题欢迎另开新帖交流。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部