找回密码
 立即注册

QQ登录

只需一步,快速开始

songcheng202

注册会员

5

主题

15

帖子

60

积分

注册会员

积分
60
songcheng202
注册会员   /  发表于:2019-6-11 16:45  /   查看:6544  /  回复:12
本帖最后由 songcheng202 于 2019-6-11 17:15 编辑

为了避免表格展示时因数据量过大导致页面崩溃的问题
现在想通过topRowChanged事件在页面滚动时,重新请求json,通过workbook.fromJSON(json) 实现表格在可视化区域的部分展示
json该如何修改呢? 操作dataTable?

12 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2019-6-11 18:08:46
沙发
你好,SpreadJS本身支持海量数据的加载,并且内置了缓存机制,您的数据量有多少呢?在什么环境下会出现页面崩溃?可以提供一个Demo我们帮您看一下具体导致页面崩溃的原因。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
songcheng202
注册会员   /  发表于:2019-6-11 18:28:31
板凳
Fiooona 发表于 2019-6-11 18:08
你好,SpreadJS本身支持海量数据的加载,并且内置了缓存机制,您的数据量有多少呢?在什么环境下会出现页面 ...

一个sheet中可能有多个table,每个table有个1万行100列数据   
接口返回数据的时候浏览器就崩溃了吧~
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-12 09:21:51
地板
songcheng202 发表于 2019-6-11 18:28
一个sheet中可能有多个table,每个table有个1万行100列数据   
接口返回数据的时候浏览器就崩溃了吧~

这个具体会不会崩溃不一定,如果您实际中遇见这样的问题,可以把导致崩溃的数据发来,我们会针对您的Demo给出具体优化的方案,您这现在是想象出来的问题,现在还真不好给出解答。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
songcheng202
注册会员   /  发表于:2019-6-12 10:27:23
6#
Fiooona 发表于 2019-6-12 09:21
这个具体会不会崩溃不一定,如果您实际中遇见这样的问题,可以把导致崩溃的数据发来,我们会针对您的Demo ...

现在就是想了解一下不把数据全部查出来 能不能在页面滑动的时候异步加载数据显示
当然该数据对应的行号和样式不能变
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-12 15:44:31
7#
你好,可以参考下附件中示例,核心代码如下:

  1.   sheetbind.bind(GC.Spread.Sheets.Events.TopRowChanged, function (sender, args) {
  2.         // console.log(args);
  3.                //追加数据源
  4.                if(args.newTopRow > 4){
  5.                 console.log(args);
  6.                 var data = { name: 'Jones',  region: '西北地区',
  7.                     sales: [
  8.                         { 时间: '2019/4/1', 项目: '项目1', 数量: 3, 花费: 1.99 },
  9.                         { 时间: '2019/4/1', 项目: '项目2', 数量: 35, 花费: 1.99 },
  10.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  11.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  12.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  13.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  14.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  15.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  16.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  17.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  18.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  19.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  20.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  21.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  22.                         { 时间: '2019/4/1', 项目: '项目3', 数量: 96, 花费: 1.99 },
  23.                     ]};
  24.                     table.bindColumns(tableColumns);
  25.                         table.bindingPath('sales');
  26.                         source =new GC.Spread.Sheets.Bindings.CellBindingSource(data);
  27.                         sheetbind.setDataSource(source);
  28.                     sheetbind.repaint();
  29.                }
  30.            
  31.                 });
复制代码

databind - 副本.zip

2.21 KB, 下载次数: 414

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
songcheng202
注册会员   /  发表于:2019-6-13 09:58:23
8#
Fiooona 发表于 2019-6-12 15:44
你好,可以参考下附件中示例,核心代码如下:

很谢谢你的回复,能不能不是对dataSource进行追加,滑到最下面还是所有的数据都在浏览器上了  
能不能是在可视化的行范围内 只展示该范围的内容
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-13 10:59:57
9#
SpreadJS是用Canvas实现的,不是用DOM,本身就是只渲染可视的界面,百万行数据轻松加载,您说的效果无法实现,也没有必要实现, 如果您实际使用中出现什么问题了,可以具体问题具体分析(复杂公式、样式),我们有性能测试过200多万行数据40毫秒可以加载
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
songcheng202
注册会员   /  发表于:2019-6-13 11:17:36
10#
Fiooona 发表于 2019-6-13 10:59
SpreadJS是用Canvas实现的,不是用DOM,本身就是只渲染可视的界面,百万行数据轻松加载,您说的效果无法实 ...

给个大数量的例子看下可以嘛
如果接口返回了10W条数据 浏览器本身就崩了啊  你都拿不到数据吧
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-13 11:23:11
11#
示例代码来了

Spread.Sheets - 性能演示应用.zip

859.72 KB, 下载次数: 464

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部