-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathremote-example.js
71 lines (67 loc) · 1.46 KB
/
remote-example.js
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
Ext.onReady(function() {
var store = new Ext.data.JsonStore({
url: "getdata.php",
root: "rows",
baseParams: {limit: 10},
autoLoad: true,
fields: [
{name: 'company'},
{name: 'price'},
{name: 'change'}
]
});
// Custom filtering with remote store.
// Each time filers change, send values of each filter field to
// server and reload store with the result.
var filterRow = new Ext.ux.grid.FilterRow({
autoFilter: false,
listeners: {
change: function(data) {
store.load({
params: data
});
}
}
});
var grid = new Ext.grid.GridPanel({
store: store,
columns: [
{
id: 'company',
header: 'Company',
width: 160,
sortable: true,
dataIndex: 'company',
filter: {
}
},
{
header: 'Price',
width: 75,
sortable: true,
renderer: 'usMoney',
align: "right",
dataIndex: 'price',
filter: {
}
},
{
header: 'Change',
width: 75,
sortable: true,
dataIndex: 'change',
filter: {
// hide filtering icon, just to demonstrate the possibility
showFilterIcon: false
}
}
],
plugins: [filterRow],
stripeRows: true,
autoExpandColumn: 'company',
height: 350,
width: 450,
title: 'Filtering with remote store',
renderTo: "remote-grid-container"
});
});