您好,这个问题是因为我们v10版本对公式计算的时机做了重构,一个是为了性能的提升,另外一个是为了支持更多的功能。
改动的时机点,我简单举个例子哈:
单元格B2写了一个公式 =A1+1
运行之后,在A1的值发生变化,B2的公式就会重新计算,这个时机是公式中的单元格的值发生变化,公式就会重算,所以会比较频繁,V10改动的时机是公式的值的结果发生变化,公式才会重算,比如0+1,-0+1这两个结果的值都是1,第2次结果和之前结果一致,公式不会算。
然后咱们这里条件格式刚好就触发了这个重构,这里的公式是=COUNTIF(前岗id串,"*,"&$CK18&",*")。其中 前岗id串 是 普通单元格,$CK18是相同表格的单元格。
在之前的版本,我们会监听 前岗id串 和 本表格,只要这个前岗id串的值变了,或是表格有数据变化,就会重绘。
但是现在呢现在,对于普通单元格,我们监听的是整个公式 =COUNTIF(前岗id串,"*,"&$CK18&",*"),只有这个公式的结果变了,才会重绘,现在的结果是再切换当前行事,有时候整个公式的结果并没变,所以就没有重绘。
解决方法呢就是
业务生产岗位 页面 -> 表格1 -> 编辑当前行变更命令 加一个 JavaScript命令:
Forguncy.Page.getListView("表格1")._grid.repaint();
或者也可以给表格后边隐藏的单元格中,添加一下这个excel函数,这样切换当前行时,不同行的结果会发生变化,表格也会重新绘制
|