找回密码
 立即注册

QQ登录

只需一步,快速开始

钛和集团

初级会员

20

主题

72

帖子

220

积分

初级会员

积分
220
钛和集团
初级会员   /  发表于:2022-9-17 00:05  /   查看:2996  /  回复:23
本帖最后由 Ellia.Duan 于 2022-9-28 10:16 编辑

image.png225112303.png
右边设计器表格设定好字段,怎么关联到表格上?这个是怎么操作的?
image.png501344298.png

我选择表格后怎么这个列就变掉了?

还有这个表格怎么绑定数据?我看那些例子是写的代码添加表格到具体的某个位置上,,
但是这个已经设计好的表格要怎么用设计器进行关联,然后进行绑定????

23 个回复

倒序浏览
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-19 12:24:36
沙发
我帮您梳理下 使用Designer设计模板与绑定数据流程
1、在在线表格编辑器点击数据tab,然后点击工作表绑定,出现数据源右侧菜单
2、设置数据源
如下图所示:
image.png767485351.png
3、拖拽进sheet中
image.png315205687.png
4、此时可以点击“绑定数据”按钮,触发bindData(),进行绑定数据,绑定数据代码如下
  1.    bindData() {
  2.       let sheet = this.spread.getActiveSheet();
  3.       let data = {
  4.         name: '李磊',
  5.         person: [
  6.           {name: 'a', age: 'b', address: 'c'},
  7.           {name: 'a', age: 'b', address: 'c'},
  8.           {name: 'a', age: 'b', address: 'c'},
  9.           {name: 'a', age: 'b', address: 'c'}
  10.         ]
  11.       }
  12.       let datasource = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
  13.       sheet.setDataSource(datasource);
  14.     },
复制代码
5、触发此事件后,此时sheet中模板已经绑定了数据源
image.png196531371.png
6、想要保存此模板,可以点击 image.png262636107.png
7、下次重新打开可以点击 image.png628357238.png 加载成功后,会出现步骤三的示例图片。
8、重复绑定数据操作。出现步骤5所示示例图片。


回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-20 11:47:49
板凳
Ellia.Duan 发表于 2022-9-19 12:24
我帮您梳理下 使用Designer设计模板与绑定数据流程
1、在在线表格编辑器点击数据tab,然后点击工作表绑定, ...

image.png821082153.png
我这个表格是多个单元格进行合并的,所以一拖拽过来,这个列的字段就不对了,这个该怎么办?

还有 我这个是一个sheet页是两个表格,该怎么绑定呢?
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-20 15:48:08
地板
image.png745490722.png
然后还报这个错了,这个要怎么办
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-20 17:44:38
5#
钛和集团 发表于 2022-9-20 11:47
我这个表格是多个单元格进行合并的,所以一拖拽过来,这个列的字段就不对了,这个该怎么办?

还有  ...

第一个问题有两种解决方案:
在合并表头后,同时要合并表其他区域,拖拽数据源后,手动设置列如下图所示:
image.png60303648.png
image.png492582702.png
此步骤较为繁琐,原因是在Excel中不允许table合并单元格。但是在Spread中Table可以合并单元格,所以既然合并,就得手动设置列。
第二个方案是:在Spread中禁止table区域合并单元格,可以参考这篇文章:
https://gcdn.grapecity.com.cn/fo ... read&tid=154140

第二个问题:如果一个sheet存在多个table,如下图所示。有一个person表还有一个product表。


image.png950995483.png

此时如何绑定数据源呢?如下图所示,绑定数据源的方式与一个table一样的,只是数据发生了变化。data对象中定义了person数组与product数组。其数组名应与模板中定义了table名一样。这样子就可以绑定两个table表啦。
image.png696878966.png



回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-20 17:46:15
6#
钛和集团 发表于 2022-9-20 15:48
然后还报这个错了,这个要怎么办

此报错内容需要您复现下操作步骤及相关代码。
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-20 20:09:11
7#
Ellia.Duan 发表于 2022-9-20 17:46
此报错内容需要您复现下操作步骤及相关代码。

image.png327774047.png

我看了,是因为我这边绑定的行数是5行,但是我要插入大于5行的数据,就会报这个错,这个要怎么自动保留我上一行的样式并自动插入行数呢??
回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-20 21:16:47
8#
看下这个demo,我绑定超过列表的行数,(数据写好在里面了,点击保存)就会报错说无法插入, image.png167376402.png

LIMS导出的原始记录.xlsx

20.87 KB, 下载次数: 43

demo.json

1.48 KB, 下载次数: 42

vue2.zip

135.59 KB, 下载次数: 40

回复 使用道具 举报
钛和集团
初级会员   /  发表于:2022-9-20 21:27:13
9#
然后我这个是合并单元格的,能把样式也插入进去吗?
回复 使用道具 举报
Ellia.DuanSpreadJS 开发认证
超级版主   /  发表于:2022-9-21 14:02:30
10#
钛和集团 发表于 2022-9-20 21:16
看下这个demo,我绑定超过列表的行数,(数据写好在里面了,点击保存)就会报错说无法插入,

出现这种原因是table设置的一开始的行数与数据行不匹配,而且碰到了合并单元格,无法Z自动扩展。所以这里可以用一个api来实现
  1. let table1 = sheet.tables.findByName('gcTable0');
  2.             table1.expandBoundRows(true);
  3.             sheet.setDataSource(datasource);
复制代码


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