找回密码
 立即注册

QQ登录

只需一步,快速开始

grb

初级会员

17

主题

53

帖子

461

积分

初级会员

积分
461

微信认证勋章

[已处理] 获取勾选行数据

grb
初级会员   /  发表于:2019-1-3 14:12  /   查看:4214  /  回复:8
在绑定表单时,第一列为checkbox类型,如何获取到勾选的行数据。
能否在附件demo中的submit方法中补充一下方法?

index.html

2.82 KB, 下载次数: 185

8 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-3 17:54:11
沙发
您好,有一个完整的Demo,给您传附件了,您可以下载下来参考。


ColumnHeaderCheckBox.html

5.11 KB, 下载次数: 197

回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-3 17:56:24
板凳
抱歉,我理解错误了,稍后我会在你提供的demo中添加一下相关逻辑。
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-3 18:05:07
地板
功能已经加入,请参考附件中的Demo。

index_2.html

3.21 KB, 下载次数: 210

回复 使用道具 举报
grb
初级会员   /  发表于:2019-1-4 09:17:46
5#
KevinChen 发表于 2019-1-3 18:05
功能已经加入,请参考附件中的Demo。

非常感谢,但是获取选中行索引再获取索引行数据需要两次遍历,在数据量比较大时会不会有效率问题?请问spreadjs对获取选中单行或多行数据后对选中数据进行操作的最佳实践是什么方式?
回复 使用道具 举报
grb
初级会员   /  发表于:2019-1-4 09:17:49
6#
KevinChen 发表于 2019-1-3 18:05
功能已经加入,请参考附件中的Demo。

非常感谢,但是获取选中行索引再获取索引行数据需要两次遍历,在数据量比较大时会不会有效率问题?请问spreadjs对获取选中单行或多行数据后对选中数据进行操作的最佳实践是什么方式?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-4 09:59:25
7#
grb 发表于 2019-1-4 09:17
非常感谢,但是获取选中行索引再获取索引行数据需要两次遍历,在数据量比较大时会不会有效率问题?请问sp ...

您好,获取整行、整列、或者某个区域的所有数据,您可以采用getArray方法,API如下:

http://help.grapecity.com/spread ... sheet~getArray.html

示例代码:

  1. sheet.getArray(1,0,1,sheet.getColumnCount());
复制代码


这行代码实现了获取第二行、从第一列到最后一列的数据,

也就是获取整个第二行的数据。
回复 使用道具 举报
grb
初级会员   /  发表于:2019-1-4 10:39:16
8#
KevinChen 发表于 2019-1-4 09:59
您好,获取整行、整列、或者某个区域的所有数据,您可以采用getArray方法,API如下:

http://help.gra ...

1、这样依然需要两次遍历;2、getArray方法返回的数组非dataSource类型的数据,不方便使用。
除了勾选的这种方式有没有一种最佳实践来实现?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-1-4 12:02:42
9#
如果您绑定了dataSource,可以通过遍历dataSource的方式来获取指定数据,

还有更快捷的方式,就是为您的选中行的行为添加一个事件,

例如本例,您可以为第一列checkbox定义一个valueChanged事件,当value为true时,

也就是说当勾选中这一行数据时,将dataSource对应的元素index保存到一个数组中,

这样您要获取被选中行数据时,不需要遍历,只要拿着这个下标数组到dataSource中取值即可。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部