|
版本: |
|
小版本号: |
|
|
|
数据库: |
|
服务器操作系统: |
|
应用服务器: |
|
客户端操作系统: |
|
浏览器: |
|
|
|
我的后台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') ,然后运行之后不管怎么填写都是重复
|
|