找回密码
 立即注册

QQ登录

只需一步,快速开始

artman5545

中级会员

31

主题

93

帖子

901

积分

中级会员

积分
901
artman5545
中级会员   /  发表于:2018-9-28 11:17  /   查看:2661  /  回复:3
本帖最后由 artman5545 于 2018-9-28 11:31 编辑

原来的代码如下:
  1. var overStyle = new GC.Spread.Sheets.Style();
  2.     overStyle.foreColor = "#ed5565";
  3.     var range = sheet.tables.findByName('table1').dataRange();
  4.     for (i = 0; i < range.rowCount; i++) {
  5.         var rowIndex = range.row + i;
  6.         sheet.conditionalFormats.addFormulaRule("$K" + rowIndex + ">DATEVALUE("" + new Date() + "")", overStyle, [new GC.Spread.Sheets.Range(rowIndex, 0, 1, range.columnCount)]);
  7.     }
复制代码

但是当我右键插入行后,设置好了的条件并没有根据行号自动变化




3 个回复

倒序浏览
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-28 14:27:05
沙发
您好,您这样按行设置FormulaRule是有问题的,我贴个Demo给您参考一下,

注意Demo中$D4表示D列从第4行开始向下range内都生效。

TableFormulaRule.html

2.72 KB, 下载次数: 63

回复 使用道具 举报
artman5545
中级会员   /  发表于:2018-9-28 15:58:37
板凳
谢谢回复!确实如您所言,我一开始是遍历去设置的,搞得表单执行很慢,如果sheet.setCellType和sheet.setDataValidator也能使用类似方式解决就好了!
回复 使用道具 举报
KevinChen讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2018-9-28 16:13:22
地板
很高兴能解决您的问题,

如果需要遍历表格设置cellType或者dataValidator,

提醒您一定要先执行spread.suspendPaint,

设置完成后执行spread.resumePaint();

否则一定会非常慢。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部