1

我需要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**

网格视图

this.columns = [
    {
{ text: "Size", dataIndex: 'size' ,filter: {
            type: 'list',
            options: ['small', 'medium', 'extra large']

        } }, ...

店铺

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 = [
    {
4

1 回答 1

1

你不需要使用ArrayStore. 只需remoteFilter: false在您的商店定义中指定并应用过滤器。它将在本地完成。

于 2012-07-06T19:47:05.717 回答