找回密码
 立即注册

QQ登录

只需一步,快速开始

quanyi

注册会员

4

主题

8

帖子

146

积分

注册会员

积分
146
quanyi
注册会员   /  发表于:2018-6-28 09:26  /   查看:4233  /  回复:5


我一个table 有一列的值是公式计算,我想把这个table的数据获取出来。

另外 vlookup公式,我找第2个sheet的值,第一次显示时,不会计算。要切换一下sheet才会计算。

spreadjs.rar

5.45 KB, 下载次数: 290

5 个回复

倒序浏览
quanyi
注册会员   /  发表于:2018-6-28 12:33:44
沙发
另外追问一下。公式计算的值不能通过getDataSource获取,那有什么简便的方式获取
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-6-28 16:19:02
板凳
您好,设置列公式,方法需要进行重绘。推荐您这样做,在redrawTable进入后通过spread.suspendPaint()暂停重绘,在方法结束后调用spread.resumePaint()一并重绘,这样全程只用重绘一次,性能最高。
参考附件demo
另一个问题我还需要看一下,有结果了给您回复

json.html

8.08 KB, 下载次数: 157

回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-6-28 17:31:42
地板
帮您咨询了一下,getDataSource是不能够获取公式计算的值的,为什么呢,因为咱们的datasource是双向绑定,意味着datasource改变,页面显示也会发生改变,反之亦然。假使能够获取到公式计算的结果,那么一旦该单元格对应的datasource发生改变,该单元格的值也会发生改变,可是公式依然在,那么最终呈现的应该是公式计算的结果呢,还是datasource改变的值呢,这就有混乱了。所以还是通过getArray方法去整个获取
参考:
http://help.grapecity.com/spread ... sheet~getArray.html
回复 使用道具 举报
quanyi
注册会员   /  发表于:2018-6-29 09:09:20
5#
ClarkPan 发表于 2018-6-28 17:31
帮您咨询了一下,getDataSource是不能够获取公式计算的值的,为什么呢,因为咱们的datasource是双向绑定, ...

按这种方式取值,没办法做到通用了。而且处理起来很麻烦。要是我这里有个单个表单要计算,又有table 列要计算,公式多啦。很难去对应再把他组装成对象传来后台进行持久化处理。后续有计划优化这一段吗
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-6-29 10:45:08
6#
公式与数据绑定本身就是两个东西,先设置数据源,在数据源绑定完成后,再在绑定列上设置列公式,就能实现您要的效果。
前提是该列在数据源中存在绑定关系。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部