1
2
3
4
5
6
7
|
var
data =[
[
'1'
,
'啊'
,
'描述01'
],
[
'2'
,
'波'
,
'描述02'
],
[
'3'
,
'呲'
,
'描述03'
],
[
'4'
,
'嘚'
,
'描述04'
],
[
'5'
,
'咯'
,
'描述05'
]
];
|
1
2
3
4
5
6
7
8
9
|
var
store =
new
Ext.data.ArrayStore({
data:data,
fields:[
{name:
'id'
},
//mapping:0 这样的可以指定列显示的位置,0代表第1列,可以随意设置列显示的位置
{name:
'name'
},
{name:
'descn'
}
],
sorters:[{property:
"name"
,direction:
"ASC"
}]
//给定一个默认的排序方式
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
Ext.data.Store.prototype.createComparator =
function
(sorters){
return
function
(r1, r2){
var
s = sorters[0], f=s.property;
var
v1 = r1.data[f], v2 = r2.data[f];
var
result = 0;
if
(
typeof
(v1) ==
"string"
){
result = v1.localeCompare(v2);
if
(s.direction ==
'DESC'
){
result *=-1;
}
}
else
{
result =sorters[0].sort(r1, r2);
}
var
length = sorters.length;
for
(
var
i = 1; i<length; i ++){
s = sorters[i];
f = s.property;
v1 = r1.data[f];
v2 = r2.data[f];
if
(
typeof
(v1) ==
"string"
){
result = result || v1.localeCompare(v2);
if
(s.direction ==
'DESC'
){
result *=-1;
}
}
else
{
result = result || s.sort.call(
this
, r1, r2);
}
}
return
result;
};
};
|