我需要根据某些标准FILTER
我的网格。
例如;如果有3个字段Name,age,school
。我需要在本地过滤网格,以便在网格中显示所有age
10的学生。
我读到如果我使用Ext.data.ArrayStore
,这是可以实现的。但我不知道如何将其应用到我的代码中。我的商店类看起来像这样;
Ext.define('Project.store.Person',{
extend:'Ext.data.Store',
model:'App.model.Person',
proxy: {
type: 'ajax',
url : '/person.php'
}
});
我的模特;
Ext.define ('Project.model.Person',{
extend: 'Ext.data.Model',
fields:['name','age','school']
});
如何应用Ext.data.ArrayStore
,以便在本地过滤列。喜欢显示所有10
年age
年的学生。
**UPDATE**
GRID - 查看
this.columns = [
{
{ text: "Size", dataIndex: 'size' ,filter: {
type: 'list',
options: ['small', 'medium', 'extra large']
} }, ...
STORE
Ext.define('SerenExample.store.GridFilterExample',{
extend:'Ext.data.Store',
model:'App.model.GridFilterExample',
remoteFilter: false,
remoteGroup:true,
proxy: { ...
当我点击尊敬的列
时,我没有看到复选框说明过滤器更新
Ext.define('SerenExample.view.GridFilterExample' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.gridfilt',
features: [],
initComponent: function() {
this.store = 'GridFilterExample';
this.columns = [
{
...
更新2
GET http://localhost/SerenExample/feature/filters.js?_dc=1341677311248 404 Not Found 104ms
"NetworkError: 404 Not Found - http://localhost/SerenExample/feature/filters.js?_dc=1341677311248"
Ext.define('SerenExample.view.GridFilterExample' ,{
extend: 'Ext.grid.Panel',
alias : 'widget.gridfilt',
features: [ {ftype: 'filters',
autoReload: false,
local: true,
filters: [{
type: 'list',
dataIndex: 'status',
options: ['small', 'medium', 'extra large']
}]}],
initComponent: function() {
this.store = 'GridFilterExample';
this.columns = [
{
答案 0 :(得分:1)
您无需使用ArrayStore
。只需在商店定义中指定remoteFilter: false
并应用过滤器即可。它将在当地完成。