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

QQ登录

只需一步,快速开始

查看: 10931|回复: 24

[结贴] 唯一性约束,为什么重复不重复都提示呢

[复制链接]

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
发表于 2014-10-28 09:29:49 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
我的后台js代码是这样的:

xsfyActivity.grdMainFUniqueColConstraint = function(){
        /**
         *      eval('mainActivity.grdMainFUniqueColConstraint()')
                        1.页面展示里面不能有重复的
                        2.页面展示里面有删除的,同时新增了一个和数据库有重复的,但是和数据库重复的数据 已经在前台删掉了
                        3.和数据库不能有重复的
         *
         **/       
        var grid=justep.xbl('grdMaster').grid;
       
        var currentValue = grid.getValueByName('D3'); //fUniqueCol
       
        var length=grid.locate([currentValue],["D3"]).length;       
       
        if(length > 1){
                /**
                        grid中已经存在相同的数据
                **/
                return false;
        }else if(length==1){
                /**
                        后台有没有重复的
                **/
                var process  = justep.Context.getCurrentProcess();
                var activity = justep.Context.getCurrentActivity();
               
                var param =new justep.Request.ActionParam();
               
                param.setString('ksql',"select M_ddfypc from M_ddfypc M_ddfypc where M_ddfypc.D3 = '"+currentValue+"'");
                 
                param.setString('dataModel','/MZXXGL/MZJHGL/XSGL/data');
               
                var r = justep.Request.sendBizRequest(process, activity, "ksqlQueryAction",  param ,null, function(resultData){
                        if(resultData && (resultData.state==false)){
                                justep.Request.errorMessage(resultData, "查询后台重复数据失败!",resultData.url,resultData.param);
                        }
                }, true);
               
                if (!justep.Request.isBizSuccess(r)){
                        justep.Request.errorMessage(r, "查询数据失败!",r.url,r.param);
                        return false;
                }else{
                        var resultSet =justep.XML.eval(r.responseXML,"//cell");
                                if(resultSet.length==0){
                                        return true;
                                }
                                if(resultSet.length==0){
                                        return true;
                                /**
                                        如果后台有重复的(理论上只有一条)
                                **/
                                }else if(resultSet.length==1){
                                        var cells = resultSet[0].childNodes;
                                        var deleteRowIds =justep.xbl('dataMaster').getChangedIDs("delete",",");
                                        if(!(deleteRowIds!=undefined&&deleteRowIds!="")){
                                                if(deleteRowIds.indexOf(cells[0].data)!=-1||grid.getSelectedRowId()==cells[0].data){
                                                        return true;
                                                }else {
                                                        return false;
                                                }
                                        }else {
                                                return false;
                                        }
                                }else{
                                        /**
                                                后台有重复的,但是数据库中有多条重复的
                                        **/
                                        justep.Request.errorMessage(null, "数据库中有重复的记录,并且不是期望的结果数量(期望记录数:1条)",null,null);
                                        return false;
                                }
                }
        }
};


在前台添加规则约束,eval('xsfyActivity.grdMainFUniqueColConstraint') ,然后运行之后不管怎么填写都是重复

396

主题

2433

帖子

4863

积分

论坛元老

Rank: 8Rank: 8

积分
4863
QQ
发表于 2014-10-28 09:32:55 | 显示全部楼层
QQ67886387
回复 支持 反对

使用道具 举报

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
 楼主| 发表于 2014-10-28 09:59:01 | 显示全部楼层
67886387 发表于 2014-10-28 09:32
看一下这个http://bbs.justep.com/forum.php?mod=viewthread&tid=33496

我就是按照这个来的
但是效果不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35940
发表于 2014-10-28 10:44:09 | 显示全部楼层
call('函数名')调用
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
 楼主| 发表于 2014-10-28 10:49:42 | 显示全部楼层
jishuang 发表于 2014-10-28 10:44
call('函数名')调用

call('xsfyActivity.grdMainFUniqueColConstraint')  这个样?但是也不行
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35940
发表于 2014-10-28 11:26:32 | 显示全部楼层
js中先debugger调试看看数据重复和不重复js中做的代码是否 正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
 楼主| 发表于 2014-10-28 11:33:29 | 显示全部楼层
jishuang 发表于 2014-10-28 11:26
js中先debugger调试看看数据重复和不重复js中做的代码是否 正确

我想问一下,我的多选框,跨页不能多选,怎么解决
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35940
发表于 2014-10-28 14:36:30 | 显示全部楼层
多选框,跨页不能多选什么意思?
grid前面有多选,然后点下一页的时候需要记住上一页选择的?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
 楼主| 发表于 2014-10-28 14:40:36 | 显示全部楼层
jishuang 发表于 2014-10-28 14:36
多选框,跨页不能多选什么意思?
grid前面有多选,然后点下一页的时候需要记住上一页选择的? ...

是的
现在的效果是,翻页之后,上一页的传不过去
回复 支持 反对

使用道具 举报

11

主题

75

帖子

171

积分

初级会员

Rank: 2

积分
171
QQ
 楼主| 发表于 2014-10-28 14:42:38 | 显示全部楼层
jishuang 发表于 2014-10-28 14:36
多选框,跨页不能多选什么意思?
grid前面有多选,然后点下一页的时候需要记住上一页选择的? ...

但是,在下面的 显示框里有 选中的上一页的fid 关键字,但是确定查询之后,只有当前页的。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-13 14:43 , Processed in 0.063625 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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