找回密码
 立即注册

QQ登录

只需一步,快速开始

星光点

注册会员

14

主题

44

帖子

176

积分

注册会员

积分
176

[已处理] 获取数据源

星光点
注册会员   /  发表于:2021-10-26 17:23  /   查看:2121  /  回复:4
从后端获取数据后通过from.json()加载数据,怎么设置绑定数据源,并且获取数据源呢
image.png857911071.png image.png469651488.png image.png352971190.png 图中示例是这个demo   image.png61481932.png

  1. //获取数据源
  2. getDataSource(){
  3.       const spread = this.state.spread;
  4.       const sheetCount = spread.getSheetCount();
  5.       for(let i=0; i<sheetCount; i++) {
  6.         const sheet = spread.getSheet(i);
  7.         const dataSource = sheet.getDataSource();
  8.         console.log(dataSource)
  9.       }
  10.     }
  11. initSpread(spread) {
  12.       restorePaint()
  13.       const _this = this;
  14.       _this.setState({ spread: spread });
  15.       getJobByKey({ key: jobKey }).then((jobArr) => {
  16.         console.log(jobArr)
  17.         if (jobArr && jobArr.length) {
  18.           _this.setState({ job: jobArr[0] });
  19.           spread.fromJSON(jobArr[0].template.ssjson);
  20.           // 生成绑定json
  21.           const sheetCount = spread.getSheetCount();
  22.           for(let i=0; i<sheetCount; i++) {
  23.             spread.getSheet(i).setDataSource(
  24.               new GC.Spread.Sheets.Bindings.CellBindingSource({})
  25.             );
  26.           }
  27.           let sheet = spread.getSheet(0)
  28.    
  29.         }
  30.       });
  31.     }
复制代码



4 个回复

倒序浏览
星光点
注册会员   /  发表于:2021-10-26 17:27:13
沙发
所用示例:https://www.grapecity.com.cn/developer/spreadjs/industry/financial
辛苦大佬版主帮忙看下!!!
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-26 17:34:28
板凳
实例中的json本身已经是设置了绑定关系了。
所以才有了spread.getSheet(i).setDataSource(new GC.Spread.Sheets.Bindings.CellBindingSource({}));这句代码,意思是在之前绑定的基础上传入一个空的数据源。这句话就是设置数据源
同理我们有sheet.getDataSource().getSource()方法来获取数据源。
详情参考我们学习指南的数据绑定功能。
https://demo.grapecity.com.cn/sp ... able-binding/purejs
image.png358983458.png
回复 使用道具 举报
星光点
注册会员   /  发表于:2021-10-26 17:42:11
地板
Clark.Pan 发表于 2021-10-26 17:34
实例中的json本身已经是设置了绑定关系了。
所以才有了spread.getSheet(i).setDataSource(new GC.Spread.S ...

打印出来的是null
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-10-26 17:50:23
5#
本帖最后由 Clark.Pan 于 2021-11-4 16:52 编辑

您给数据源是空,当然是null了。说实话半天都没理解您想做的需求是什么,建议您好好学习我上面发的数据绑定的相关教程,理解了数据绑定的机制之后,如果您还有相关问题可以继续提问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部