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

QQ登录

只需一步,快速开始

查看: 1026|回复: 2

[结贴] 用js实现多表之间数据关联

[复制链接]

11

主题

41

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
发表于 2016-4-22 17:12:41 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
请问:
我现在有两个数据表,一个是mainData,一个是detailData,两个表都有一个fOrderNumber字段,现在想实现如下功能:
在detailData中输入数据,则fOrderNumber字段自动用mainData表中的fOrderNumber字段代替。

代码如下(注:该事件通过detailData的onAfterSave事件触发):
Model.prototype.detailDataAfterSave = function(event){
        
        var detaildata=this.comp("detailData");
        var maindata=this.comp("mainData");        
        var value=maindata.getValueByID('fOrderNumber', maindata.getCurrentRowID());
        //alert(value.toString());   
        
        //alert(detaildata.count().toString());
        detaildata.each(function(param){
               var rowid=param.row.getID();
            //alert(detaildata.getValueByID('fOrderNumber1', rowid));   
              detaildata.setValueByID('fOrderNumber1', value, rowid);   
              //alert(detaildata.getValueByID('fOrderNumber1', rowid));   
            
              detaildata.saveData({
                  "onSuccess":function()
                  {
                      justep.Util.hint("写入detaildata成功!");
                  }
              });
        });

存在两个问题:
1. 程序好像陷入了无限循环中,是不是saveData不断触发onAfterSave事件?该如何解决?
2. 如果不用saveData,是不是数据不会同步到数据库中?

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2016-4-25 09:31:27 | 显示全部楼层
可以在detailData的新增后事件中获取到mainData中的fOrderNumber的值
然后给detailData中的fOrderNumber赋值

然后在detailData保存的时候数据就会存储

不用在保存后事件中去处理,而且保存后事件中再调用保存就会死循环了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

11

主题

41

帖子

87

积分

初级会员

Rank: 2

积分
87
QQ
 楼主| 发表于 2016-5-11 08:36:45 | 显示全部楼层
jishuang 发表于 2016-4-25 09:31
可以在detailData的新增后事件中获取到mainData中的fOrderNumber的值
然后给detailData中的fOrderNumber赋 ...

好的,谢谢,问题已解决
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 10:25 , Processed in 0.058881 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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