请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

biz-dev

中级会员

99

主题

266

帖子

917

积分

中级会员

积分
917

微信认证勋章

biz-dev
中级会员   /  发表于:2020-9-2 20:02  /   查看:2498  /  回复:9
你好,在已经有边框的行中插入一行,新增的行没有边框

1599048115338.gif

9 个回复

倒序浏览
大白菜
中级会员   /  发表于:2020-9-3 08:31:42
沙发
可以自己手动设置,比如拿之前的边框样式,copy到新增行内

评分

参与人数 1金币 +66 收起 理由
Derrick.Jiao + 66 赞一个!

查看全部评分

回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-9-3 08:44:24
板凳
本帖最后由 biz-dev 于 2020-9-3 09:48 编辑

谢谢,但是疑惑的是这个不应该是插件本身应该提供的功能么?为啥还需要自己实现呢?
如果自己实现的话,很容易造成性能问题,而且有很多情况需要考虑
比如:单行插入和多行插入, 整行有边框和部分单元格有边框等

初步调查了一下,目前来看没有办法直接通过设置cellrange的方式来设置border,所以要每个单元格遍历来实现,所以新增行的单元格个数会直接影响性能
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-3 11:55:41
地板
您好,我们把插入行是否复制上一行的样式决定权交给用户。在不同的使用场景用户的需求不同,因此这部分是否需要实现交由客户的使用场景决定,我们对此不做完限制。

另外性能的问题也是可以通过挂起对应的事件或绘制进行提升。

您如果需要对整行设置border您可以通过getRange获取对应的区域然后调用里面的方法设置框线

您可以参考cellRange的border设置的API
https://demo.grapecity.com.cn/sp ... e.html#borderBottom
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-9-3 13:47:58
5#
本帖最后由 biz-dev 于 2020-9-3 13:54 编辑

这里有几个疑问:
1.如果我通过addRows方式添加行,取得的返回值大部分都是undefined,那我要如何获得新增行的index,只能通过自己计算哪些行是新增的么?
2.如果是整行都添加边框的话,我可以取得当前行(上、下、左、右)的边框样式来设置整行的样式,但是如果在一行中只有部分单元格有样式的话,我通过取整行边框样式只能取到undefined,那是不是需要遍历每一个单元格来设置边框样式?

如果可以的话,麻烦提供一下包含插入单行/多行,全部有边框/部分有边框的示例代码么?
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-3 14:27:31
6#
1、获取新增行索引可以通过监听RowChanged事件,
  1. activeSheet.bind(GC.Spread.Sheets.Events.RowChanged, function (e, info) {
  2.         alert("Row (" + info.row + ")");
  3. });
复制代码


这是API
https://demo.grapecity.com.cn/sp ... ml#event:RowChanged

2、您可以参考一下这个帖子的两个demo插入行复制上一行的样式,边框也是同理的

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

主要用到copyTo,这是API
https://demo.grapecity.com.cn/sp ... rksheet.html#copyTo

如果您看了还有不理解的地方欢迎更贴追问~
回复 使用道具 举报
大白菜
中级会员   /  发表于:2020-9-3 14:30:00
7#
DerrickJiao 发表于 2020-9-3 14:27
1、获取新增行索引可以通过监听RowChanged事件,

获取当前最新的行,我有个小诀窍,不知是否正确,是否可通过 sheet.getSelections().,返回的行
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-3 14:40:51
8#
大白菜 发表于 2020-9-3 14:30
获取当前最新的行,我有个小诀窍,不知是否正确,是否可通过 sheet.getSelections().,返回的行

是个可行的方法
回复 使用道具 举报
biz-dev
中级会员   /  发表于:2020-9-3 16:10:06
9#
好的 ,我看下,谢谢回复~
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2020-9-3 16:11:55
10#
biz-dev 发表于 2020-9-3 16:10
好的 ,我看下,谢谢回复~

不用客气,有问题欢迎更贴追问。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部