找回密码
 立即注册

QQ登录

只需一步,快速开始

liushiniao

初级会员

31

主题

76

帖子

269

积分

初级会员

积分
269

活字格认证微信认证勋章

liushiniao
初级会员   /  发表于:2015-2-6 16:03  /   查看:5840  /  回复:1
咨询一下大神,要实现的场景是这样的,我在画好的表格中对数据区的单元格设置了相应的校验规则或者是公式,这时候如果我增加一行的时候,将上一行中每个单元格中的校验规则或者公式赋予新增加行的对应的列单元格中,遇到一些问题,代码如下:
for ( var n = item.startColIndex; n < item.startColIndex+item.colCount; n++) {
    var cstyles = spread.getSheet(0).getStyle(insertRow,n,$.wijmo.wijspread.SheetArea.viewport, true);
   //formula 此处可以获取到formula,   var formula = spread.getSheet(0).getFormula(insertRow,n,$.wijmo.wijspread.SheetArea.viewport);
//此处获取不到getDataValidator,未找到方法,请指点
    var validList = spread.getSheet(0).getDataValidator(insertRow, n);

   spread.getSheet(0).setStyle(insertRow+1,n,cstyles,$.wijmo.wijspread.SheetArea.viewport);
//但是有个问题是比如上一行是=SUM(L5+M5),下一行对应列应该是=SUM(L6+M6),但是未能实现,此处应如何实现?
   spread.getSheet(0).setFormula(insertRow+1,n,formula,$.wijmo.wijspread.SheetArea.viewport);
   spread.getSheet(0).getCell(insertRow+1, n, $.wijmo.wijspread.SheetArea.viewport).locked(false);
}
另外还有一个问题就是竖向加和的问题,比如我统计的是第一列3-5行的数据的和,这时候我在数据区
新增一行,就需要统计的是3-6行的和,这个公式怎么样去扩展?求指点,非常感谢!!!

1 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2015-2-6 18:09:00
沙发
回复 1楼liushiniao的帖子

1.getDataValidator方法没有什么问题,推测你的其他代码逻辑出现了问题。请检查你的代码逻辑。检查想获取的cell上是否设置dataValidator。
2.=SUM(L5+M5) 是动态的公式,所以不能新增行。推荐使用copy/paste能力,将上一行复制并粘贴到下一行,然后把下一行的值清除。所有的formula,style都会自行同步和增长的。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

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