找回密码
 立即注册

QQ登录

只需一步,快速开始

zheyuankeji

注册会员

9

主题

15

帖子

105

积分

注册会员

积分
105
zheyuankeji
注册会员   /  发表于:2019-6-18 09:42  /   查看:4107  /  回复:5
插入了两条数据,为啥合计不出结果,需要重新给单元格设置公式么?我在初始化表格的时候设置了
table1.setColumnFormula(2, "=SUBTOTAL(109,[本次申请结算金额(不含税)(元)])");
table1.setColumnFormula(3, "=SUBTOTAL(109,[本次申请结算金额税金(元)])");


数据源 var zcxxlist = [{"ZCZBH":"20180510","ZCYZ":100,"GJRQ":"2018-05-10","ZLZZSJ":"2018-12","ZLYT":"9D79E2BD9C524A19AAC676BFD77B6E7A","JZMJ":1000,"ZLYTMC":"办公租赁","XH":1,"GGXH":"201805101546","ZCLBMC":"房屋建(构)筑物","ZCLB":"EDBE112B113D4E539785F11726FFC364","ZCMC":"测试资产201805101546","ZLKSSJ":"2018-06","ZRMJ":100},{"ZCZBH":"20180510","ZCYZ":1000,"GJRQ":"2018-05-10","ZLZZSJ":"2018-12","ZLYT":"B0A27A3EBA4B4BE8B077F5D7FBFC0B00","ZLYTMC":"生产租赁","XH":2,"GGXH":"201805101556","ZCLBMC":"油气","ZCLB":"5734A708E64542469D2BAC7E14755B45","ZCMC":"测试资产201805101556","ZLKSSJ":"2018-05","XXSZD":"11111","XXDZ":"11111"},{"XH":3,"GGXH":"201805101549","ZCLBMC":"车辆","ZCZBH":"20180510","ZCYZ":10000,"ZLZZSJ":"2018-11","ZCLB":"AAFB97135A3143299055CF80E47A205B","ZCMC":"测试资产201805101549","ZLKSSJ":"2018-05","ZLYT":"B0A27A3EBA4B4BE8B077F5D7FBFC0B00","ZLYTMC":"生产租赁"}];

var jsondata =[{
  • BCSQJSJE: "244.25"
  • BCSQJSJESJ: "31.75"
  • FPDM: "0370018005"
  • FPFJ: "** - 副本(1).png"
  • FPHM: "41709938"
  • KJRQ: "2019年06月02日"
},{
  • BCSQJSJE: "244.25"
  • BCSQJSJESJ: "31.75"
  • FPDM: "0370018001"
  • FPFJ: "** - 副本(1).png"
  • FPHM: "41709938"
  • KJRQ: "2019年06月02日"
}];


TIM图片20190618093105.png
TIM图片20190618093136.png

zrzcjsshForm.jsp

22.07 KB, 阅读权限: 200, 下载次数: 2

页面

5 个回复

倒序浏览
Fiooona
论坛元老   /  发表于:2019-6-18 14:42:08
沙发
本帖最后由 Fiooona 于 2019-6-18 16:36 编辑

你好,绑定数据源后需要重新绑定公式,您可再对应的单元格重新设置公式。
如果公式不起作用也试试可以调  sheet.recalcAll() 来计算所有的公式。
如果还有问题,能提供一个简单可重现问题的例子嘛?(最好是html文件+出现问题的数据),说明清楚您要问的问题。
组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
zheyuankeji
注册会员   /  发表于:2019-6-18 15:29:17
板凳
Fiooona 发表于 2019-6-18 14:42
你好,绑定数据源后需要重新绑定公式,您可再对应的单元格重新设置公式。
如果公式不起作用也试试可以调   ...

if(jsondata.length > 0){
                                   for (var i = 0 ; i < jsondata.length; i++) {
                                       //alert('**代码:'+jsondata.InvoiceCode+'=====**号码:'+jsondata.InvoiceNum);
                                       dataSource.xf.fpdatas.push(jsondata);
                                                                   }
                                                                   table1.bindingPath("fpdatas");
                                   table1.setColumnFormula(2, "=SUBTOTAL(109,[本次申请结算金额(不含税)(元)])");
                                   table1.setColumnFormula(3, "=SUBTOTAL(109,[本次申请结算金额税金(元)])");
                                   table1.setColumnValue(0, "合计");
                                   sheet.recalcAll();


这样重新绑定还是没反应
回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-18 16:12:34
地板
本帖最后由 Fiooona 于 2019-6-18 16:15 编辑

您好,跟据您提供的思路,我写了个Demo,重新绑定数据源公式是有效的,您可以看一下,如果与您的需求不符合可以在我这个Demo上修改。
我用的SpreadJS版本是12.0
image.png359436644.png image.png412519835.png
如果再有问题,可以把能复现问题的Demo上传一下

databind.zip

2.13 KB, 下载次数: 237

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
zheyuankeji
注册会员   /  发表于:2019-6-19 09:56:21
7#
Fiooona 发表于 2019-6-18 16:12
您好,跟据您提供的思路,我写了个Demo,重新绑定数据源公式是有效的,您可以看一下,如果与您的需求不符合 ...

我改了之后的demo

databind.html

6.39 KB, 下载次数: 155

回复 使用道具 举报
Fiooona
论坛元老   /  发表于:2019-6-19 11:34:40
8#

你好,在重新绑定数据源后可以重新设置公式:
  1.    table.setColumnFormula(2, "=SUBTOTAL(109,[数量])");[/size]
  2. [size=14px]              table.setColumnFormula(3, "=SUBTOTAL(109,[花费])");
复制代码

具体参考附件

databind改后.zip

2.22 KB, 下载次数: 243

组件化表格编辑器(预览版)试用进行中,点击了解详情!
请点击评分,对我的服务做出评价!5分为非常满意!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部