找回密码
 立即注册

QQ登录

只需一步,快速开始

极品毛肚
注册会员   /  发表于:2022-5-23 10:20  /   查看:1220  /  回复:3
【业务步骤】1、通过在线设计器设计好表单模板,通过toJSON保存;
2、用户通过设计好的模板在线填写spread表单;
3、用户填写完数据并保存;
4、发现设计的模板样式有问题,通过设计器再次编辑模板样式并发布;
5、用户填写端模板样式更新,但数据需要保留(fromJSON);

想实现只更新样式,保留原有数据?

3 个回复

倒序浏览
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-5-23 14:01:26
沙发
您好,
如果您是使用的数据绑定,那么可以实现模板样式和填报数据分离,
即模板为一个ssjson文件,数据源部分为json数组单独保存数据库。
这样的话,对于步骤5,可以根据业务需要加载不同样式的模板,然后再绑定数据源即可。

关于数据绑定,您可以参考以下链接资料了解学习:
https://demo.grapecity.com.cn/sp ... able-binding/purejs
https://demo.grapecity.com.cn/sp ... evel-binding/purejs
https://gcdn.grapecity.com.cn/fo ... hread&tid=98317

如果不是使用的数据绑定,目前没有方案可以实现“样式和数据”分离处理,
即填报后的模板文件会保存在一个ssjson文件中,步骤4修改模板样式后也无法影响已生成的ssjson文件。
回复 使用道具 举报
极品毛肚
注册会员   /  发表于:2022-5-25 16:58:21
板凳
本帖最后由 极品毛肚 于 2022-5-25 17:48 编辑
Lynn.Dou 发表于 2022-5-23 14:01
您好,
如果您是使用的数据绑定,那么可以实现模板样式和填报数据分离,
即模板为一个ssjson文件,数据源 ...

再问个问题,我循环遍历设置单元格的text文本,响应太慢了,是我哪里错了吗?
比如一个20行11列的表单(耗时起码40秒):
for (let i = 0; i < sheet.getRowCount(); i++) {
   for (let j = 0; j < sheet.getColumnCount(); j++) {
        sheet.getCell(i, j).text('123')
   }
}
已用暂停重绘和恢复重绘解决。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-5-25 18:06:59
地板
极品毛肚 发表于 2022-5-25 16:58
再问个问题,我循环遍历设置单元格的text文本,响应太慢了,是我哪里错了吗?
比如一个20行11列的表单( ...

已在新帖中做回复,若仍未解决,请在新帖子中补充demo。
https://gcdn.grapecity.com.cn/fo ... read&tid=147605
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部