找回密码
 立即注册

QQ登录

只需一步,快速开始

安泰得

金牌服务用户

43

主题

106

帖子

421

积分

金牌服务用户

积分
421
安泰得
金牌服务用户   /  发表于:2019-5-6 15:47  /   查看:3890  /  回复:6
        var source = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
                        sheet.setDataSource(source);
采用数据绑定的方式给table赋值,当赋值内容超过现有行时,它会自动添加行,但是新加的行没有表格样式,这个应该如何处理

6 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-6 18:05:07
沙发
您好,这个问题我们没能重现,不清楚您这边怎么设置的表格样式,

请您提供一个能重现问题的Demo,我们重现一下问题。
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2019-5-7 09:52:03
板凳
image.png146408995.png
从箭头所指这里开始 格式就变了,不是table的样式

demo.rar

12.68 KB, 下载次数: 137

回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2019-5-7 09:52:25
地板
KevinChen 发表于 2019-5-6 18:05
您好,这个问题我们没能重现,不清楚您这边怎么设置的表格样式,

请您提供一个能重现问题的Demo,我们重 ...

demo上传了 您看下
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-7 14:20:32
5#
您好,看了您的Demo,您定制了原表格的样式,所以在执行完绑定数据源后,需要将样式复制到新增区域中,

复制样式可以采用copyTo方法,参考API:

https://demo.grapecity.com.cn/sp ... rksheet~copyTo.html

copyTo方法的可选参数API如下:

https://demo.grapecity.com.cn/sp ... .CopyToOptions.html

例如您目前的问题,可以参考以下代码实现:

  1. getTotalData = function () {
  2.         var data=ret.data;
  3.         var sheet = spread.getSheet(0);
  4.         sheet.clearSelection();
  5.         sheet.suspendPaint();
  6.         sheet.options.rowHeaderVisible = false;
  7.         sheet.options.colHeaderVisible = false;
  8.         sheet.options.isProtected = true;
  9.     // 绑定数据前,先拿到table的range
  10.     var table = sheet.tables.all()[0];
  11.     var range = table.range();
  12.         var source = new GC.Spread.Sheets.Bindings.CellBindingSource(data);
  13.         sheet.setDataSource(source);
  14.         // 用copyTo执行复制样式的操作(用循环按行复制)
  15.         sheet.copyTo(
  16.            range.row + 1,
  17.            range.col,
  18.            range.row + range.rowCount,
  19.            range.col,
  20.            1,
  21.            range.colCount,
  22.            GC.Spread.Sheets.CopyToOptions.style);
  23.         sheet.resumePaint();
  24. };
复制代码
回复 使用道具 举报
安泰得
金牌服务用户   /  发表于:2019-5-7 16:00:56
6#
您的意思是 需要额外在代码上去解决(复制样式),而不能通过设计器设置直接解决这个问题对吧?
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2019-5-7 17:37:21
7#
是的,这里由于执行了数据绑定的操作,而不是直接导入的样式,

实际上我们还有一个格式刷的Demo,您可以参考一下:

https://demo.grapecity.com.cn/Sp ... /#/demos/styleBrush
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部