我如何知道用户更改目录字符串和排序字符串?

时间:2012-11-22 08:09:38

标签: extjs

这是我的代码

    var store = {
        user_store: new Ext.data.Store({       
            autoLoad: false,
            proxy: new Ext.data.HttpProxy({
                url: a/b/c
            }),
            remoteSort: true, 
            baseParams: {
                dir: 'ASC',
                sort: defaultSort,
                start:0, 
                limit:pagesize
            },
            reader: new Ext.data.JsonReader({

                totalProperty: 'total',
                root: 'root', 
                fields:['fullname', 'first']
            })
        }),
    };

我可以使用“store.user_store.getSortState()。direction”和“store.user_store.getSortState()。field”来获取dir字符串和排序字符串。 但我不知道。用户何时更改目录字符串和排序字符串。

我试着解决我的问题。 这是我的代码

                             var dir =defaultDir;
                             if((store.user_store.getSortState().direction))
                             {
                                dir =store.user_store.getSortState().direction;
                             }

                             var sort =defaultSort
                             if((store.user_store.getSortState().field))
                             {
                                sort =store.user_store.getSortState().field;
                             }  

但窗口说:TypeError:store.user_store.getSortState()未定义。我该怎么办?

(PS:对不起,我的英语不太好。我的extjs是v3.4)

http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-cfg-sortInfo

2 个答案:

答案 0 :(得分:0)

你可以直接使用,而无需再次定义变量。

var user_store= new Ext.data.Store({       
        autoLoad: false,
        proxy: new Ext.data.HttpProxy({
            url: a/b/c
        }),
        remoteSort: true, 
        baseParams: {
            dir: 'ASC',
            sort: defaultSort,
            start:0, 
            limit:pagesize
        },
        reader: new Ext.data.JsonReader({

            totalProperty: 'total',
            root: 'root', 
            fields:['fullname', 'first']
        }),
        })

    }),
};

答案 1 :(得分:0)

                             var dir =CDS.defaultDir;
                             var sort =CDS.defaultSort
                             var state =store.user_store.getSortState();
                             if(state)
                             {
                                dir =state.direction;
                                sort =state.field;
                             }