$.extend($.fn.validatebox.defaults.rules, {
PositiveNumber : {// 整数
validator:function(value,param){
return value >= 1;
},
message: '请输入不小于1的整数'
},
IntNumber:{
validator:function(value,param){
var n = /[^\d]/g;
var re = new RegExp(n);
return !re.test(value)
},
message:'请输入正整数'
},
intOrFloat : {// 验证整数或小数
validator : function(value) {
return /^\d+(\.\d+)?$/i.test(value);
},
message : '请输入数字,并确保格式正确'
}
});
var editIndex = undefined;
function onClickRow(index,data) {
if (editIndex == undefined){
//编辑单元格
$('#itemsetgrid').datagrid('selectRow', index).datagrid('beginEdit', index);
//拿到编辑的单元格的值,field:'para' 列明为para
var ed = $('#itemsetgrid').datagrid('getEditor', {index:index,field:'para'});
//进行单元格填的值进行校验
if(data.type == 'int'){
$(ed.target).validatebox({
validType: 'IntNumber'
});
}else if(data.type == 'float'){
$(ed.target).validatebox({
validType: ' intOrFloat'
});
}else if(data.type == 'string'){
var selectvalue = data.selectvalue;
var array = selectvalue.split(",");
$.extend($.fn.validatebox.defaults.rules, {
selectValue:{
validator : function(value) {
var result = false;
for(var i = 0; i < array.length; i++) {
if(array[i] == value) {
result = true;
}
}
if(result){
return true;
}else{
return false;
}
},
message : '请输入正确格式'
}
});
$(ed.target).validatebox({
validType: 'selectValue'
});
}
editIndex = index;
}else{
$('#itemsetgrid').datagrid('endEdit', editIndex);
var item =[]
var rows = $("#itemsetgrid").datagrid("getData");//所有行的数据
onLoadSuccess(rows);//**在调一次合并单元格的方法,如果没有在调用编辑的时间会错乱**
$('#itemsetgrid').datagrid('selectRow', index).datagrid('beginEdit', index);
var ed = $('#itemsetgrid').datagrid('getEditor', {index:index,field:'para'});//拿到编辑的单元格
if(data.type == 'int'){
$(ed.target).validatebox({ //给单元格动态加上自定义的校验
validType: 'IntNumber'
});
}else if(data.type == 'float'){
$(ed.target).validatebox({
validType: ' intOrFloat'
});
} else if(data.type == 'string'){
var selectvalue = data.selectvalue;// true,false
var array = selectvalue.split(",");//变成数组
$.extend($.fn.validatebox.defaults.rules, {
selectValue:{
validator : function(value) {
var result = false;
for(var i = 0; i < array.length; i++) {
if(array[i] == value) {//判断字符串是否是在数组中
result = true;
}
}
if(result){
return true;
}else{
return false;//false就会返回信息
}
},
message : '请输入正确格式'
}
});
$(ed.target).validatebox({
validType: 'selectValue'
});
}
editIndex = index;
}
}
function onLoadSuccess(data){
var mark=1;
for (var i=1; i <data.rows.length; i++) {
if (data.rows[i]['modulename'] == data.rows[i-1]['modulename']) { //后一行的值与前一行的值做比较,相同就需要合并
mark += 1;
//这里不能用this,要用具体名称!!!
$("#itemsetgrid").datagrid('mergeCells',{
index: i+1-mark,
field: 'modulename',
rowspan:mark //纵向合并的格数,如果想要横向合并,就使用colspan:mark
});
}else{
mark=1;
}
}
}
Easyui合并单元格 再进行编辑单元格 单元格所在的行错位 及自定义验证
最新推荐文章于 2023-05-04 08:55:51 发布