找回密码
 立即注册

QQ登录

只需一步,快速开始

genii86

注册会员

10

主题

32

帖子

102

积分

注册会员

积分
102
genii86
注册会员   /  发表于:2024-7-3 19:56  /   查看:704  /  回复:9
1金币
报表插件自定义远程请求后通过toJSON拿到json后再通过fromJSON渲染,对应的配置就消失了。
期望结果:通过自定义远程请求拿到数据源数据,在拿到数据后将报表渲染为预览模式



最佳答案

查看完整内容

您好,附件中上传了一个文件, 页面加载后是预览模式,然后点击按钮加载数据。。 不是很明白,您说的”渲染比请求快“ 您可以在此demo基础上,添加可以复现您问题的代码,再上传上来。

9 个回复

倒序浏览
最佳答案
最佳答案
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-3 19:56:26
来自 4#
您好,附件中上传了一个文件, 页面加载后是预览模式,然后点击按钮加载数据。。
不是很明白,您说的”渲染比请求快“ 您可以在此demo基础上,添加可以复现您问题的代码,再上传上来。

渲染.html

4.58 KB, 下载次数: 135

回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-4 09:41:06
2#
本帖最后由 Joestar.Xu 于 2024-7-24 15:40 编辑

您好,自定义远程请求数据后,不需要通过toJSON ,然后fromJSON渲染,您可以参考下面的代码:


  1. getStudentList().then((result) => {
  2.   let myTable = spread.dataManager().tables["myTable"];
  3.   myTable.options = {
  4.     remote: {
  5.       read: function () {
  6.         return Promise.resolve(result);
  7.       },
  8.     },
  9.   };
  10.   myTable.fetch(true).then(function () {
  11.     let myView = myTable.views["myView"];
  12.     let sheet = spread.getActiveSheetTab();
  13.     sheet.setDataView(myView);
  14.   });
  15. });
复制代码


观察上面代码,getStudentList()是自定义http请求,返回result 。
然后数据源myTable接收result数据。
回复 使用道具 举报
genii86
注册会员   /  发表于:2024-7-4 10:12:35
3#
Ellia.Duan 发表于 2024-7-4 09:41
您好,自定义远程请求数据后,不需要通过toJSON ,然后fromJSON渲染,您可以参考下面的代码:

这个是没有问题,我的使用场景是使用报表插件希望打开时就是预览模式,然后我用的自定义请求数据,但最终结果渲染比请求数据快,我的写法跟你这个是一样的
回复 使用道具 举报
genii86
注册会员   /  发表于:2024-7-4 14:06:32
5#
Ellia.Duan 发表于 2024-7-4 11:01
您好,附件中上传了一个文件, 页面加载后是预览模式,然后点击按钮加载数据。。
不是很明白,您说的”渲 ...

明白了,这个可以解决我的问题,谢谢了额
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-4 14:09:10
6#
不客气,那本帖就先结贴啦。
回复 使用道具 举报
genii86
注册会员   /  发表于:2024-7-4 14:33:39
7#
Ellia.Duan 发表于 2024-7-4 14:09
不客气,那本帖就先结贴啦。

这边还有个问题,demo里面使用的getActiveSheetOrSheetTab好像在api文档里面并没有呀
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-4 14:55:08
8#
属于非公开api , 您可以使用getActiveSheetTab()
回复 使用道具 举报
genii86
注册会员   /  发表于:2024-7-4 15:06:04
9#
Ellia.Duan 发表于 2024-7-4 14:55
属于非公开api , 您可以使用getActiveSheetTab()

了解了,getActiveSheetOrSheetTab还是比较好用
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2024-7-4 15:15:46
10#
genii86 发表于 2024-7-4 15:06
了解了,getActiveSheetOrSheetTab还是比较好用

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部