找回密码
 立即注册

QQ登录

只需一步,快速开始

热点科技

初级会员

24

主题

56

帖子

200

积分

初级会员

积分
200
热点科技
初级会员   /  发表于:2022-12-21 17:27  /   查看:2653  /  回复:14
本帖最后由 Clark.Pan 于 2023-1-10 12:11 编辑

使用设计器Designer,如何通过代码获取到模板ssjson的数据?(而不是通过导出模板)
  1.     <Designer  styleInfo = {{width: "100%", height: '98vh'}} config = {config}   spreadOptions = {{sheetCount: 2}}></Designer>
复制代码
image.png221637877.png

14 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-21 17:30:44
沙发
您好,此按钮 点击后下载的ssjson文件可以 通过下面的一行代码获取

  1. var designerBindingPathSchema = designer.getData("treeNodeFromJson") || designer.getData("updatedTreeNode") || designer.getData("oldTreeNodeFromJson");
  2.                         
复制代码


回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 11:55:45
板凳
本帖最后由 Ellia.Duan 于 2022-12-23 13:33 编辑

image.png732318114.png image.png371430968.png
取不到值 是怎么回事?
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-23 13:42:16
地板
热点科技 发表于 2022-12-23 11:55
取不到值 是怎么回事?

您好,getData()想要获取值,需要先setData()
  1. this.designer.setData('treeNodeFromJson', JSON.stringify(jsonSchema))
  2.       this.designer.setData('oldTreeNodeFromJson', JSON.stringify(jsonSchema))
复制代码
其中 ,上面代码中的jsonSchema是指,您这边第一个设计字段后,点击保存模板结构后,生成一个json文件。
刷新后,进来点击加载模板结构  ,这时候可以执行上面两行代码 。就可以通过getData()获取到字段值了。

回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 14:33:12
5#
Ellia.Duan 发表于 2022-12-23 13:42
您好,getData()想要获取值,需要先setData()其中 ,上面代码中的jsonSchema是指,您这边第一个设计字段 ...

我第一次在设计器设计好的模板结构,怎么通过代码获得ssjson?
回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 14:34:55
6#
Ellia.Duan 发表于 2022-12-21 17:30
您好,此按钮 点击后下载的ssjson文件可以 通过下面的一行代码获取

我不需要下载,我要直接获得ssjson,然后保存到后端
回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 14:45:37
7#
test1.ssjson (46.06 KB, 下载次数: 108)
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-23 15:09:30
8#
本帖最后由 Ellia.Duan 于 2022-12-23 15:10 编辑
热点科技 发表于 2022-12-23 14:45
补充:
我在设计器中设计好的模板,如附件所示的文件内容,通过代码怎么获取得到?

您好,由于您的json文件带有schema字段。如下图所示:

image.png99730834.png
所以您这边通过在线表格编辑器导入ssjson后,是可以通过getData()数据获取字段列表的
image.png583310546.png
  1.   designer.bind(GC.Spread.Sheets.Designer.Events.FileLoaded, function(event,data){
  2.                 console.log(designer.getData('treeNodeFromJson'))
  3.                 console.log(designer.getData('oldTreeNodeFromJson'))
  4.             });
复制代码
这边通过您提供的ssjson文件,是可以获取到值的 。如果您这边还是获取不到值,建议您将您的相关代码上传上来,这边帮您具体看一下。

回复 使用道具 举报
热点科技
初级会员   /  发表于:2022-12-23 15:20:29
9#
Ellia.Duan 发表于 2022-12-23 15:09
您好,由于您的json文件带有schema字段。如下图所示:

老师您这边可能是没有理解我的问题。

我的问题是:
我在设计器自定义了模板,同时自定义一个按钮【保存模板】,点击此按钮后
要如何 才能获取jsjson字符串?[img][/img]

image.png553430480.png
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-12-23 15:47:11
10#
热点科技 发表于 2022-12-23 15:20
老师您这边可能是没有理解我的问题。

我的问题是:

您好,这边明白您的需求了,您可以参考这篇文章
https://gcdn.grapecity.com.cn/showtopic-155387-1-2.html
其中这里提到,可以通过designer.getData("updatedTreeNode")来获取字段列表json数据,如下图所示:

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