Derrick.Jiao 发表于 2021-4-8 11:46:06

用代码获取设置组件化编辑器的字段列表

本帖最后由 DerrickJiao 于 2021-4-12 15:07 编辑

本期教程教大家如何通过getData和setData获取和设置字段列表。因为有的小伙伴想在加载模板进来的时候,想将已将设置好的字段填写到右侧的字段列表面板上。


我们首先说一下如何通过getData获取字段列表的json。首先,我们需要获取设计器实例.
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container')然后通过("oldTreeNodeFromJson"用于获取旧的树形结构)或者("updatedTreeNode"用于获取更新的树形结构)
var designerBindingPathSchema = designer.getData("treeNodeFromJson") || designer.getData("updatedTreeNode") || designer.getData("oldTreeNodeFromJson");

那么接下来我们来看下如何通过setData添加字段列表,我们需要定义一个变量存储字段结构
var templateJSONSchema = `{"$schema":"http://json-schema.org/draft-04/schema#","properties":{"field-0":{"dataFieldType":"table","type":"array","items":{"type":"object","properties":{"field-00":{"type":"string"},"field-01":{"type":"string"},"field-02":{"type":"string"}}}}},"type":"object"}`;然后通过setData将这个字段结构传进去即可
designer.setData("treeNodeFromJson", templateJSONSchema);
designer.setData("oldTreeNodeFromJson", templateJSONSchema);


inroad 发表于 2021-6-25 11:12:55

获取设计器实例:
var designer = GC.Spread.Sheets.Designer.findControl('gc-designer-container')
只能通过这个方法吗?designerInitialized初始化方法返回的值不是设计器实例吗?

Lynn.Dou 发表于 2021-6-25 11:24:02

您好,
此教程是使用的在线表格编辑器为示例,
所以通过 findControl 获取到designer。
在这篇帖子中回答了您的问题:
https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=94699
页: [1]
查看完整版本: 用代码获取设置组件化编辑器的字段列表