找回密码
 立即注册

QQ登录

只需一步,快速开始

汇新泓博
初级会员   /  发表于:2023-1-10 09:46  /   查看:1735  /  回复:6
1金币
用户自定义模版 这个用户在使用其他模版的时候都能使用这个自定义样式,就是根据用户来保存自己的自定义样式能不能实现
企业微信截图_16733150661478.png

最佳答案

查看完整内容

您好, 自定义样式是存储在spread/sheet对象上的。在加载了新的模板时,实质上是初始化了新的spread对象,所以需要重新设置该自定义样式。 解决方案:对于原始模板,可以通过getNamedStyle方法获取自定义样式。 然后在加载其他模板后,获取spread对象,使用addNamedStyle设置自定义样式。

6 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-10 09:46:18
来自 2#
本帖最后由 Lynn.Dou 于 2023-1-10 16:31 编辑

您好,
自定义样式是存储在spread/sheet对象上的。在加载了新的模板时,实质上是初始化了新的spread对象,所以需要重新设置该自定义样式。
解决方案:对于原始模板,可以通过getNamedStyle方法获取自定义样式。
  1. var oldStyle = spread.getNamedStyle("样式 1");
  2. var styleJson = oldStyle.toJSON()
复制代码

image.png844345702.png
然后在加载其他模板后,获取spread对象,使用addNamedStyle设置自定义样式。
  1. var newStyle = new GC.Spread.Sheets.Style();
  2. newStyle.fromJSON(styleJson);
  3. spread.addNamedStyle(newStyle);
复制代码
image.png345327452.png
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-1-11 09:23:16
3#
Lynn.Dou 发表于 2023-1-10 16:18
您好,
自定义样式是存储在spread/sheet对象上的。在加载了新的模板时,实质上是初始化了新的spread对象, ...

你好 这要在什么时候获取和什么时候设置添加呢
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-11 10:09:16
4#
对于用户自定义的模板,可以用户提交模板的时候做一下判断,如果有新增的自定义样式,则通过上个回答中的方式获取保存。
对于该用户使用其他模板时,再参考上个回答中所述的方案将该自定义样式重新设置,以实现您的需求。
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-1-11 11:09:10
5#
Lynn.Dou 发表于 2023-1-11 10:09
对于用户自定义的模板,可以用户提交模板的时候做一下判断,如果有新增的自定义样式,则通过上个回答中的方 ...

获取不到自定义样式呀
回复 使用道具 举报
汇新泓博
初级会员   /  发表于:2023-1-11 11:21:21
6#
本帖最后由 汇新泓博 于 2023-1-11 11:23 编辑
Lynn.Dou 发表于 2023-1-11 10:09
对于用户自定义的模板,可以用户提交模板的时候做一下判断,如果有新增的自定义样式,则通过上个回答中的方 ...

我用的是  gc-spread-sheets-designer这  
获取的时候是这样写吗?
   this.spreadTemp = GC.Spread.Sheets.Designer.findControl(
        "spreadSheetsDesignerDiv"
      ).getWorkbook();
var sheet = this.spreadTemp.getActiveSheet();
    var oldStyle =sheet.getNamedStyle('自定义');
   var styleJson = oldStyle.toJSON()
    console.log(styleJson );
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2023-1-11 14:07:57
7#
在spread对象上获取下试试,
spread.getNamedStyle("xxx")
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部