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

QQ登录

只需一步,快速开始

figoyu
金牌服务用户   /  发表于:2016-2-26 13:16  /   查看:5215  /  回复:8
我通过AutoFillType.CopyCells方式填充行,填充后的行,公式是正确的,但是公式不能自动执行。以前用spreadjs8是没有问题的,升级到spreadjs9就不执行了。
主要代码:
  1. sheet.addRows((range.row + firstRowRange.rowCount), (range.rowCount - firstRowRange.rowCount));

  2.                 var dragFillExtent = {
  3.                     startRange: startRowRange,
  4.                     fillRange: fillRowRange,
  5.                     autoFillType: GcSpread.Sheets.AutoFillType.CopyCells,
  6.                     fillDirection: GcSpread.Sheets.FillDirection.Down
  7.                 };
  8.                 var fillAction = new GcSpread.Sheets.UndoRedo.DragFillUndoAction(sheet, dragFillExtent);
  9.                 fillAction.execute(sheet);
复制代码




QQ截图20160226134220.png

8 个回复

倒序浏览
gw0506
超级版主   /  发表于:2016-2-26 13:40:00
沙发
收到,我们确认一下。
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-2-26 13:52:00
板凳
我试了一个简单的 case ,是好的呀,你能提供一个重现问题的 sample吗?
调 sheet.recalcAll() 能解决问题吗?

  1.             
  2.             sheet.setFormula(1, 1, "a1+2");
  3.             sheet.setValue(1, 0, 1);
  4.             sheet.setValue(2, 0, 2);
  5.             sheet.addRows(2, 2);
  6.             var startRowRange = new GcSpread.Sheets.Range(1, 1, 1, 3);
  7.             var fillRowRange = new GcSpread.Sheets.Range(2, 1, 2, 3);

  8.             var dragFillExtent = {
  9.                 startRange: startRowRange,
  10.                 fillRange: fillRowRange,
  11.                 autoFillType: GcSpread.Sheets.AutoFillType.CopyCells,
  12.                 fillDirection: GcSpread.Sheets.FillDirection.Down
  13.             };
  14.             var fillAction = new GcSpread.Sheets.UndoRedo.DragFillUndoAction(sheet, dragFillExtent);
  15.             fillAction.execute(sheet);
复制代码
回复 使用道具 举报
figoyu
金牌服务用户   /  发表于:2016-2-26 15:16:00
地板
回复 3楼CCKan的帖子

公式是可以填充进去,但是当在单元格中输入值后,公式不自动计算。调 sheet.recalcAll() 不能解决问题。

SpreadjsDemo.zip (630.08 KB, 下载次数: 344)
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-2-26 16:06:00
5#
你好,经过我们确认,这是一个已知的 BUG, 已经在产品中修复,在下一个维护版本中就会修复。
目前我们计划大概会在 4月份发布一个 V9 SP版本。
回复 使用道具 举报
figoyu
金牌服务用户   /  发表于:2016-2-26 16:30:00
6#
回复 5楼CCKan的帖子

现在有没有什么办法解决呢,只能等到下一个修复版本吗?
回复 使用道具 举报
CCKan
银牌会员   /  发表于:2016-2-26 17:27:00
7#
需要在添加行后清除添加行上我们内部的一些数据。
这段代码访问了我们私有的成员,在以后的版本中很可能无法正常工作,所以在后续版本中如果该 BUG 已经修复的话请删除相关代码。
            sheet.addRows(2, 2);
            sheet._vpCalcSheetModel.dataTable[2] = undefined;
            sheet._vpCalcSheetModel.dataTable[3] = undefined;
            var startRowRange = new GcSpread.Sheets.Range(1, 0, 1, 3);
回复 使用道具 举报
figoyu
金牌服务用户   /  发表于:2016-2-27 09:18:00
8#
回复 7楼CCKan的帖子

好的,明白,先暂时这样解决
回复 使用道具 举报
gw0506
超级版主   /  发表于:2016-2-29 11:40:00
9#
本帖关闭。如有其它问题,欢迎随时发新帖讨论。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部