起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11157|回复: 9

[处理中3] 明细合计问题

[复制链接]

156

主题

748

帖子

2430

积分

金牌会员

Rank: 6Rank: 6

积分
2430
QQ
发表于 2021-3-26 11:50:25 | 显示全部楼层 |阅读模式
版本:3.9
问题:使用$model.comp('detailData').sumByAll('fXMTZYBMX_BYWCTZE', $row) 计算明细合计,如果明细的数据loadData赋值的?计算关系是不执行的,只有点击新增之后,在通过loadData赋值计算关系才能执行?请问这是什么原因呢

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2021-3-26 13:51:12 | 显示全部楼层
loadData是什么时机操作的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

156

主题

748

帖子

2430

积分

金牌会员

Rank: 6Rank: 6

积分
2430
QQ
 楼主| 发表于 2021-3-26 15:21:03 | 显示全部楼层
jishuang 发表于 2021-3-26 13:51
loadData是什么时机操作的?

点击新增之后,然后通过按钮调用action获取数据再loadData
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2021-3-26 18:06:17 | 显示全部楼层
loadData的数据可以编辑吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

156

主题

748

帖子

2430

积分

金牌会员

Rank: 6Rank: 6

积分
2430
QQ
 楼主| 发表于 2021-3-29 08:54:52 | 显示全部楼层
jishuang 发表于 2021-3-26 18:06
loadData的数据可以编辑吗?

可以
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2021-3-29 09:40:50 | 显示全部楼层
$model.comp('detailData').sumByAll('fXMTZYBMX_BYWCTZE', $row) 是在什么时机调用的?在loadData后js调用看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

156

主题

748

帖子

2430

积分

金牌会员

Rank: 6Rank: 6

积分
2430
QQ
 楼主| 发表于 2021-3-29 10:39:40 | 显示全部楼层
jishuang 发表于 2021-3-29 09:40
$model.comp('detailData').sumByAll('fXMTZYBMX_BYWCTZE', $row) 是在什么时机调用的?在loadData后js调用 ...

是使用计算公式,单独使用在loadData之后使用this.comp('detailData').sumByAll(''fXMTZYBMX_BYWCTZE')也是能正确获取合计值的?倒是计算公式没有执行,手动修改'fXMTZYBMX_BYWCTZE的值也是不执行的,只有点击detailData的新增之后,计算公式才会起作用。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2021-3-29 11:34:17 | 显示全部楼层
先手动计算吧

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

156

主题

748

帖子

2430

积分

金牌会员

Rank: 6Rank: 6

积分
2430
QQ
 楼主| 发表于 2021-3-31 10:03:10 | 显示全部楼层
jishuang 发表于 2021-3-29 11:34
先手动计算吧

你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完 ...

请问,找到原因了吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2021-4-1 15:16:27 | 显示全部楼层
1.action的java代码
  1. public static Table loadCData(String parentid){
  2.                 Table tableResObj = TableUtils.createTable("AP_CHJ", "/appdemo/test/data");
  3.                 for(int i =0;i<3;i++){
  4.                         Row row = tableResObj.appendRow();
  5.                         row.setState(ModifyState.NEW);
  6.                         row.setValue("AP_CHJ", UUID.randomUUID().toString());
  7.                         row.setValue("fZHJ", parentid);
  8.                         row.setValue("fName", "从"+i);
  9.                         row.setValue("fSZ", 12.3+i);
  10.                         row.setState(ModifyState.NEW);
  11.                 }
  12.                 tableResObj.getProperties().put(Table.PROP_NAME_ROWID, "AP_CHJ");               
  13.                 return tableResObj;       
  14.         }
复制代码
2.直接点按钮调用的action,没有操作什么新增
  1. Model.prototype.button2Click = function(event){
  2.                 var mainData = this.comp("mainData");
  3.                 var detailData = this.comp("detailData");
  4.                 var detailGrid = this.comp("detailGrid");
  5.                 var parentid = mainData.getCurrentRowID();
  6.                 var param = new biz.Request.ActionParam();
  7.                 param.setString("parentid", parentid);
  8.                 biz.Request.sendBizRequest({
  9.                         "context" : this.getContext(),
  10.                         "parameters" : param,
  11.                         "action" : "loadCDataAction",
  12.                         "callback" : function(callbackData) {
  13.                                 if (callbackData.state) {
  14.                                         detailData.loadData(callbackData.response);
  15.                                         detailGrid.refresh();
  16.                                 } else
  17.                                         alert("执行失败");
  18.                         }
  19.                 });
  20.                
  21.         };
复制代码
3.在主data的关系上设置的计算规则,计算从data的合计,loadData数据可以自动计算
  1. <col name="fJE" xid="ruleCol1">
  2.     <calculate xid="calculate1">
  3.      <expr xid="default2">$model.comp('detailData').sumByAll('fSZ', $row)</expr></calculate> </col>
复制代码


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 11:13 , Processed in 0.073189 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表