请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

ddsaji

注册会员

5

主题

18

帖子

71

积分

注册会员

积分
71
ddsaji
注册会员   /  发表于:2025-3-20 11:41  /   查看:209  /  回复:12
1金币
本帖最后由 Matthew.Xue 于 2025-3-20 16:38 编辑

报表是iframe页面,页面已经绑定了数据源,通过postMessage将数据传入报表页面,先getDataSource通过拿出原有的绑定数据,将现有数据合并进去,再setDataSource将值绑定会报以下错误。报表就不能正确渲染
image.png868817748.png

image.png150215758.png

image.png138342284.png

12 个回复

倒序浏览
Matthew.Xue
超级版主   /  发表于:2025-3-20 16:04:24
沙发
您好,是否方便看一下您说的合并数据、重新setDataSource的代码逻辑?
最好是能上传一个可复现的demo,这边能更快的帮您定位到问题。
回复 使用道具 举报
ddsaji
注册会员   /  发表于:2025-3-20 16:21:00
板凳
Matthew.Xue 发表于 2025-3-20 16:04
您好,是否方便看一下您说的合并数据、重新setDataSource的代码逻辑?
最好是能上传一个可复现的demo,这 ...


这样的,然后就是重新设置数据源,我们业务系统通过Iframe嵌入报表,业务系统和报表是不同源的,测试用两台不同ip不同端口的
image.png867276916.png
回复 使用道具 举报
ddsaji
注册会员   /  发表于:2025-3-20 16:27:11
地板
ddsaji 发表于 2025-3-20 16:21
这样的,然后就是重新设置数据源,我们业务系统通过Iframe嵌入报表,业务系统和报表是不同源的,测试用 ...

然后业务系统填写数据,通过postMessage进行父子页面传递数据
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-20 16:28:18
5#
这样吧,咱们留一个电话号码,我打给您,咱们腾讯会议看一下,这样找不出原因的。我已经把帖子的权限设置为仅超级版主可见了。
回复 使用道具 举报
ddsaji
注册会员   /  发表于:2025-3-20 16:30:54
6#
本帖最后由 Matthew.Xue 于 2025-3-20 16:38 编辑
Matthew.Xue 发表于 2025-3-20 16:28
这样吧,咱们留一个电话号码,我打给您,咱们腾讯会议看一下,这样找不出原因的。我已经把帖子的权限设置为 ...

185******96
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-21 11:47:30
7#
您好,我用iframe进行了各种测试,确实无法复现您遇到的问题,您可以自己本地起一个服务,用iframe嵌入这个地址:
数据绑定demo
可以看到其实iframe里嵌入表格并做数据绑定是没问题的。
我觉得思路还是两个,一个是找数据的流动,另一个是看你们服务器的跨域配置。您可以再看一下。
回复 使用道具 举报
ddsaji
注册会员   /  发表于:2025-3-21 15:04:31
8#
Matthew.Xue 发表于 2025-3-21 11:47
您好,我用iframe进行了各种测试,确实无法复现您遇到的问题,您可以自己本地起一个服务,用iframe嵌入这个 ...

用这个demo确实没问题,我们现在用的版本是17.1.6吗
回复 使用道具 举报
Matthew.Xue
超级版主   /  发表于:2025-3-21 15:27:47
9#
ddsaji 发表于 2025-3-21 15:04
用这个demo确实没问题,我们现在用的版本是17.1.6吗

我不清楚您目前用的是什么版本,我给出的页面用的是最新的18.0.5版本。
回复 使用道具 举报
ddsaji
注册会员   /  发表于:2025-3-21 16:26:35
10#
本帖最后由 ddsaji 于 2025-3-21 16:38 编辑
Matthew.Xue 发表于 2025-3-21 15:27
我不清楚您目前用的是什么版本,我给出的页面用的是最新的18.0.5版本。

这个是模板导出的json文件,按照父子页面的方式试一下,加载完后点击按钮这样替换一下部分数据你们试试
let dataSource = sheet.getDataSource().getSource();
dataSource['cs310M1i1']=[{size:'122'},{size:113}];
sheet.setDataSource(new GC.Spread.Sheets.Bindings.CellBindingSource(dataSource));
我们当前cs310M1i1这个数据源如果数组对象只有一个是正常的,如果数组对象有两个就不行了



test.zip

7.29 KB, 下载次数: 8

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