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

QQ登录

只需一步,快速开始

查看: 3052|回复: 5

[结贴] 主表某列保存时自动合计从表中关联列数值怎么实现?

[复制链接]

16

主题

35

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
发表于 2013-10-26 22:16:34 | 显示全部楼层 |阅读模式
版本: X5.2.5 小版本号:
数据库: MySQL 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows XP 浏览器: IE7
自动合计.JPG

怎么实现图中保存数据时自动合计从表相应列主的数值,并更新主表相应列的数值这个功能?
求详细作法,

117

主题

771

帖子

1670

积分

金牌会员

Rank: 6Rank: 6

积分
1670
发表于 2013-10-27 10:46:57 | 显示全部楼层
在从表对应的data的onvaluechanged事件中,加入类似代码:
  1. mainActivity.dataDetailDataChanged = function(event){
  2.         var mainData = justep.xbl('dataPrePay');
  3.         var buyApplyData = justep.xbl('dataDetail');
  4.         var totleAmount = 0;
  5.         var length = buyApplyData.getCount();
  6.         for (var i = 0; i < length; i++) {
  7.                 var mID = buyApplyData.getRowId(i);
  8.                 if (typeof mID == "undefined") {
  9.                         continue;
  10.                 }
  11.                 var fAmount = buyApplyData.getValue("fltSum", mID);
  12.                     fLateFee= buyApplyData.getValue("fltLateFee", mID);
  13.                 totleAmount = parseFloat(totleAmount - (-fAmount))-(-fLateFee).toFixed(2);
  14.         }
  15.         mainData.setValue("fltDeposit", totleAmount, mainData.getCurrentRowId());       
  16. };
复制代码

评分

参与人数 1 +3 收起 理由
jishuang + 3 赞一个!

查看全部评分

本人非X5官方技术,回复内容仅供参考。
回复 支持 反对

使用道具 举报

16

主题

35

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2013-10-27 21:51:48 | 显示全部楼层
smarter 发表于 2013-10-27 10:46
在从表对应的data的onvaluechanged事件中,加入类似代码:

mainActivity.dataDetailDataChanged = function(event){
       var detail = justep.xbl('datadetail');
       var maindata = justep.xbl('datamaster');
       var id = detail.getvalue('fhtmc');
       var totalsdjse = justep.XData.sum("Detail", "fSDJE",id);  
        maindata.setvalue("fJSSDE",totalsdjse);
}
总是不对,帮看看吧
回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
发表于 2013-10-27 22:37:40 | 显示全部楼层
建议处理时机放在beforeSave事件中
beforeSave.jpg

评分

参与人数 1 +5 收起 理由
jishuang + 5 赞一个!

查看全部评分

孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

16

主题

35

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2013-10-28 09:02:02 | 显示全部楼层
mainActivity.dataDetailDataChanged = function(event){
       var detail = justep.xbl('datadetail');
       var maindata = justep.xbl('datamaster');
       var rowID = maindata.getCurrentID();
       var totalsdjse = justep.XData.sum("Detail", "fSDJE",rowID);      
       maindata.setValue("fJSSDE",totalsdjse);
   };
照猫画虎,画了一段代码。。。可是不对
回复 支持 反对

使用道具 举报

16

主题

35

帖子

93

积分

初级会员

Rank: 2

积分
93
QQ
 楼主| 发表于 2013-10-28 09:35:02 | 显示全部楼层
写在主表的beforesave事件中就解决了,谢谢版主

mainActivity.dataMasterBeforeSave = function(event){
         var totalsdjse = justep.XData.sum("dataDetail", "fSDJE");  
//alert(totalsdjse);
        var maindata = justep.xbl('dataMaster');
         maindata.setValue("fJSSDE",totalsdjse);       
};
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 18:56 , Processed in 0.083774 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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