找回密码
 立即注册

QQ登录

只需一步,快速开始

gnip

高级会员

139

主题

367

帖子

1170

积分

高级会员

积分
1170
gnip
高级会员   /  发表于:2024-7-24 09:44  /   查看:1127  /  回复:5
image.png856944274.png image.png664974670.png image.png65590819.png 使用默认的事件会触发对应事件,但是手动调用submit就没触发

5 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-24 16:36:07
沙发
您好,如果数据验证中存在未通过的数据,则不会提交,
通过下面的代码为C2单元格设置数据验证,使其不能小于5
  1.       const dv = GC.Spread.Sheets.DataValidation.createNumberValidator(
  2.             GC.Spread.Sheets.ConditionalFormatting.ComparisonOperators.greaterThanOrEqualsTo, 5, 5, false
  3.         );
  4.         templateSheet.getRange(1, 2, 1, 1).validator(dv);

  5. // Configure the Data Validator.
  6.         dv.showInputMessage(true);
  7.         dv.inputTitle("Tip");
  8.         dv.inputMessage("Value must be greater than or equal to 5");
复制代码
在返回的数据源中有一个数据是4,如下图所示:

image.png997341308.png
此时修改其他数据,右键,点击提交,会提示
image.png392670287.png
此时没有触发ReportSheetRecordsSubmitted和ReportSheetRecordsSubmitting事件,
如果此时点击外部按钮,
  1.    document.getElementById('btn1').addEventListener('click',function (){
  2.             reportSheet.submit()
  3.         })
复制代码
发现也没有进行submit
image.png166107482.png

所以,没有复现你的问题。是否可以详细介绍下,事件是什么意思呢?或者录个动图上传上来。
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-24 19:18:12
板凳
Ellia.Duan 发表于 2024-7-24 16:36
您好,如果数据验证中存在未通过的数据,则不会提交,
通过下面的代码为C2单元格设置数据验证,使其不能小 ...

[url=]如图[/url]
1112.gif
回复 使用道具 举报
gnip
高级会员   /  发表于:2024-7-24 19:21:24
地板

我是没有设置数据校验的,就很奇怪,右键自带的提交能触发事件,手动去aip调用却没触发
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-25 13:55:45
5#
所以,您的问题是,为什么api没有触发事件吗?
image.png514607543.png
在SpreadJS中,大部分事件用来监听用户的操作,监听用户在特定的操作做相应的业务逻辑。
但是代码就不一定了,业务逻辑代码可以直接写在您的手动触发按钮click事件中。
没有必要去监听事件。
换句话说,监听事件的回调参数,可以通过其他方式获取。

这一点与普通sheet一致。您可以试下,在单元格中输入任意内容,此时会触发valueChanged事件,但是如果在代码中设置setValue   ,则不会触发valueChanged事件。
回复 使用道具 举报
Joestar.XuSpreadJS 开发认证
超级版主   /  发表于:2024-8-29 13:39:08
6#
您好,由于本帖较长时间没有回复,本帖先做结贴处理了,后续如您有其他问题,欢迎您开新帖提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部