找回密码
 立即注册

QQ登录

只需一步,快速开始

wu8455156

论坛元老

8

主题

28

帖子

6646

积分

论坛元老

积分
6646

活字格认证

wu8455156
论坛元老   /  发表于:2014-10-17 16:36  /   查看:9083  /  回复:5
下面是我写的代码
  1. function insertRow(sheet){
  2.         var row = sheet.getActiveRowIndex();
  3.     sheet.addRows(row, 1);
  4.     for(var i =0;i<columnCount;i++){
  5.             var cell = sheet.getCell(row, i);
  6.             cell.borderLeft(new $.wijmo.wijspread.LineBorder("#000000",$.wijmo.wijspread.LineStyle.thin));
  7.                 cell.borderRight(new $.wijmo.wijspread.LineBorder("#000000",$.wijmo.wijspread.LineStyle.thin));
  8.                 cell.borderTop(new $.wijmo.wijspread.LineBorder("#000000",$.wijmo.wijspread.LineStyle.thin));
  9.                 cell.borderBottom(new $.wijmo.wijspread.LineBorder("#000000",$.wijmo.wijspread.LineStyle.thin));
  10.     }
  11. }
复制代码


新增行以后遍历新增行的每一个单元格,添加上下左右边框,每一行只有6个单元格,执行这个函数大概要两秒钟。想请问现有的架构中,是否能直接通过range来添加range范围内的所有边框,或者有其它优化的方案,谢谢了!( 有尝试过 getRow(rowIndex).borderLeft(.....)来添加,但此方法会造成这一行的所有单元格都会添加边框,不能固定需要添加边框的单元格数量。 )

5 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2014-10-17 18:08:00
沙发
回复 1楼wu8455156的帖子

优化的方法有很多种,这是其中一种,如代码所示
  1. function insertRow(sheet) {

  2.                     sheet.isPaintSuspended(true);

  3.                     var row = sheet.getActiveRowIndex();

  4.                     sheet.addRows(row, 1);

  5.                     for (var i = 0; i < columnCount; i++) {

  6.                         var cell = sheet.getCell(row, i);

  7.                         cell.borderLeft(new $.wijmo.wijspread.LineBorder("#000000", $.wijmo.wijspread.LineStyle.thin));

  8.                         cell.borderRight(new $.wijmo.wijspread.LineBorder("#000000", $.wijmo.wijspread.LineStyle.thin));

  9.                         cell.borderTop(new $.wijmo.wijspread.LineBorder("#000000", $.wijmo.wijspread.LineStyle.thin));

  10.                         cell.borderBottom(new $.wijmo.wijspread.LineBorder("#000000", $.wijmo.wijspread.LineStyle.thin));

  11.                     }

  12.                     sheet.isPaintSuspended(false);

  13.               }
复制代码
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
wu8455156
论坛元老   /  发表于:2014-10-20 09:32:00
板凳
回复 2楼Alice的帖子

谢谢,解决了, isPaintSuspended() 方法是用来暂停什么的?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-20 10:58:00
地板
回复 3楼wu8455156的帖子

这是成对出现的,是指打开/关闭 Paint。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
wu8455156
论坛元老   /  发表于:2014-10-20 14:51:00
5#
回复 4楼Alice的帖子

虽然不明白到底是做什么的,不过问题解决就好了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2014-10-20 14:58:00
6#
回复 5楼wu8455156的帖子

好的,此问题结贴。
有问题欢迎开新帖。

评分

参与人数 1满意度 +5 收起 理由
wu8455156 + 5 问题已解决

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部