找回密码
 立即注册

QQ登录

只需一步,快速开始

IT-Weaver

初级会员

20

主题

76

帖子

238

积分

初级会员

积分
238
IT-Weaver
初级会员   /  发表于:2022-6-15 08:54  /   查看:1447  /  回复:8
1金币


业务场景,我们所有的表头信息和表格数据,都在viewport区域,不是传统的表头在colHeader,数据在viewport。

现在我们使用的方式是逐行进行表头和数据的渲染,因为setDataSource方式按我们测试的结果,他只可以对整个viewport区域从第0行进行数据渲染。

所有我们想知道,是否有方式可以类似setDataSource方式,但是开始行可以自定义指定,其次在自动匹配列时,也可以自定义指定某一行作为列头行,从而进行列头的匹配。


最佳答案

查看完整内容

就目前而言,setDataSource是最高效的方法。其次是setArray给指定的区域设置数值。最后才是遍历行数来赋值。另外,较新的版本例如v14、v15也会想对v12有更好的性能。 就上面描述的场景而言,可以尝试先用表单绑定,然后做插入行以及设置列头的操作。这样理论上会比循环1000遍要更好一些。

8 个回复

倒序浏览
最佳答案
最佳答案
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-15 08:54:49
来自 3#
就目前而言,setDataSource是最高效的方法。其次是setArray给指定的区域设置数值。最后才是遍历行数来赋值。另外,较新的版本例如v14、v15也会想对v12有更好的性能。

就上面描述的场景而言,可以尝试先用表单绑定,然后做插入行以及设置列头的操作。这样理论上会比循环1000遍要更好一些。 image.png448351745.png
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2022-6-15 08:57:03
2#
举例子,我们的表头信息可能在viewport的第5行,然后从第6行开始,会加载1000行数据,我们现在是循环1001次,第一次渲染表头,后面1000次循环数据,虽然使用开启和停止绘画函数可以使加载变快一些,但是具体的实现逻辑过于不通用,其次如果数据量增加至10w行时,就无法保证效率了。
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2022-6-15 10:30:30
4#
Derrick.Jiao 发表于 2022-6-15 10:10
就目前而言,setDataSource是最高效的方法。其次是setArray给指定的区域设置数值。最后才是遍历行数来赋值 ...

这个解决方案没问题,我们可以试试。 另外一个问题还没有解决,假如我们使用setArray方式进行数据加载,我们如何让我们的数据对象集中的属性和表格里的数据做映射,比如我的对象是{name:123,age:12} 我setArray时如何控制他的列排序问题?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-15 12:08:47
5#
IT-Weaver 发表于 2022-6-15 10:30
这个解决方案没问题,我们可以试试。 另外一个问题还没有解决,假如我们使用setArray方式进行数据加载, ...

setArray不具有上面描述的映射关系,如需使用setArray,需将数据处理成下面的二维数组的形式去赋值
image.png929182128.png
回复 使用道具 举报
ann悬赏达人认证
初级会员   /  发表于:2022-6-15 13:32:43
6#
也可以考虑将表单的区域转换为table,再使用表格的数据绑定,表格数据绑定支持setDtaaSource。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-15 16:47:25
7#
请根据实际需求选用对应的方案即可。
回复 使用道具 举报
IT-Weaver
初级会员   /  发表于:2022-6-15 16:58:00
8#
最终我们选定的方案是用array方式。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-15 18:40:49
9#
IT-Weaver 发表于 2022-6-15 16:58
最终我们选定的方案是用array方式。

ok,那这边就结帖了,有新问题欢迎开新帖交流~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部