找回密码
 立即注册

QQ登录

只需一步,快速开始

吴福顺

金牌服务用户

6

主题

17

帖子

59

积分

金牌服务用户

积分
59
吴福顺
金牌服务用户   /  发表于:2020-8-8 14:33  /   查看:5156  /  回复:10
image.png425903930.png image.png395782164.png
有什么简单方法吗,否则这种绑定就不可用了,还要一行行去操作

10 个回复

倒序浏览
AlexZ讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2020-8-8 22:53:38
沙发
样式是后加的还是用的表格样式?

如果是表格样式,绑定的扩展行应该可以自动继承

如果是后加样式,那就需要处理扩展出来的行
回复 使用道具 举报
吴福顺
金牌服务用户   /  发表于:2020-8-10 09:09:13
板凳
本帖最后由 吴福顺 于 2020-8-10 09:12 编辑

image.png917218017.png 表格区域都是已经合并好的,但自动增加出来的行就不行了

表格的列单元格合并是很正常的事情,都要人工处理就太麻烦了,而且很难控制啊
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-10 12:24:30
地板
吴福顺 发表于 2020-8-10 09:09
表格区域都是已经合并好的,但自动增加出来的行就不行了

表格的列单元格合并是很正常的事情,都要人工处 ...

您好,您可以参考这两个帖子

https://gcdn.grapecity.com.cn/showtopic-57938-1-78.html
https://gcdn.grapecity.com.cn/showtopic-53618-1-134.html

数据表格自动拓展的复制格式需要您用代码实现。
回复 使用道具 举报
吴福顺
金牌服务用户   /  发表于:2020-8-10 13:37:59
5#
请注意看我的格式,每一数据列,都是多列合并后得到的,不是单纯的列
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-10 18:25:28
6#
吴福顺 发表于 2020-8-10 13:37
请注意看我的格式,每一数据列,都是多列合并后得到的,不是单纯的列

这边写了一个demo您可以看下: image.png621227111.png

auto.zip

812.01 KB, 下载次数: 190

回复 使用道具 举报
吴福顺
金牌服务用户   /  发表于:2020-8-17 09:52:03
7#
DerrickJiao 发表于 2020-8-10 18:25
这边写了一个demo您可以看下:

上面问题的意思是表格初始化时,自动加载多行数据,表格默认有一些合并的单元格,但一旦填满,扩展出来的行就不会合并了。
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-17 10:34:24
8#
吴福顺 发表于 2020-8-17 09:52
上面问题的意思是表格初始化时,自动加载多行数据,表格默认有一些合并的单元格,但一旦填满,扩展出来的 ...

您好,我的demo演示的是表格初始化10行数据,3-12行的Course列用了合并单元格。
数据填满后,在表格最后一个单元格可以通过Tab或表格内右键插入新增行,合并单元格也复制到了新行。

新增行的关键代码您可以看下:
  1.         sheet.bind(GC.Spread.Sheets.Events.TableRowsChanged, function (e, info)
  2.         {
  3.             var sheet = info.sheet;
  4.             if (info.sheetArea === GC.Spread.Sheets.SheetArea.viewport) // 右键增加行 具体要判断在上方增加行或者下方,根据需要修改参数
  5.             {

  6.                 sheet.copyTo(info.row  +table.range().row+1, 0, info.row+table.range().row, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.CopyToOptions.span);
  7.                 var rh = sheet.getRowHeight(info.row + 1, GC.Spread.Sheets.SheetArea.viewport);
  8.                 // 挂起事件响应
  9.                 sheet.suspendEvent();
  10.                 sheet.setRowHeight(info.row, rh, GC.Spread.Sheets.SheetArea.viewport);
  11.                 // 恢复事件响应
  12.                 sheet.resumeEvent();
  13.             }
  14.          else{ // tab 键新增行
  15.             sheet.copyTo(info.row  +table.range().row+1, 0, info.row+table.range().row+2, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.CopyToOptions.span);
  16.                 var rh = sheet.getRowHeight(info.row + 1, GC.Spread.Sheets.SheetArea.viewport);
  17.                 // 挂起事件响应
  18.                 sheet.suspendEvent();
  19.                 sheet.setRowHeight(info.row, rh, GC.Spread.Sheets.SheetArea.viewport);
  20.                 // 恢复事件响应
  21.                 sheet.resumeEvent();
  22.          }
  23.         });
复制代码



回复 使用道具 举报
吴福顺
金牌服务用户   /  发表于:2020-8-17 13:41:20
9#
DerrickJiao 发表于 2020-8-17 10:34
您好,我的demo演示的是表格初始化10行数据,3-12行的Course列用了合并单元格。
数据填满后,在表格最后 ...

还是没理解我的意思,请看原始描述,默认行只有7行的表格,我需要初始化100行,后面的93行怎么自动合并
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-8-17 19:34:45
10#
吴福顺 发表于 2020-8-17 13:41
还是没理解我的意思,请看原始描述,默认行只有7行的表格,我需要初始化100行,后面的93行怎么自动合并

已复现您的问题,明天给您答复。
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部