if
(
this
.sortInfo && !
this
.remoteSort){
var
s =
this
.sortInfo, f = s.field;
var
st =
this
.fields.get(f).sortType;
var
fn =
function
(r1, r2){
var
v1 = st(r1.data[f]), v2 = st(r2.data[f]);
//alert(v1+'--'+v2);
var
re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g
//匹配IP地址的正则表达式
if
(re.test(v1)){
var
a1 = parseInt(RegExp.$1);
var
a2 = parseInt(RegExp.$2);
var
a3 = parseInt(RegExp.$3);
var
a4 = parseInt(RegExp.$4);
var
re2=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g
//匹配IP地址的正则表达式
re2.test(v2)
var
b1 = parseInt(RegExp.$1);
var
b2 = parseInt(RegExp.$2);
var
b3 = parseInt(RegExp.$3);
var
b4 = parseInt(RegExp.$4);
//alert('i1:'+i1+';i2:'+i2);
if
(a1 != b1){
return
a1 > b1 ? 1 : -1;
}
if
(a2 != b2){
return
a2 > b2 ? 1 : -1;
}
if
(a3 != b3){
return
a3 > b3 ? 1 : -1;
}
if
(a4 != b4){
return
a4 > b4 ? 1 : -1;
}
return
0;
}
if
(
typeof
(v1) ==
"string"
){
return
v1.localeCompare(v2);
}
return
v1 > v2 ? 1 : (v1 < v2 ? -1 : 0);
};
this
.data.sort(s.direction, fn);
if
(
this
.snapshot &&
this
.snapshot !=
this
.data){
this
.snapshot.sort(s.direction, fn);
}
}
};