关于EXTJS4中GridFilter的问题

照着官方的example做出来一个local的,但是发现一个问题,过滤的条件只能是在当前页,就是说比如每页最大值是20条信息,一共40条信息,但是如果我查询第23条的ID,是空的,或者更准确的说第一页是空的,但是第二页里是这条信息是被过滤显示出来了的,这是什么问题?正常情况来讲这条信息应该要被过滤出来后显示在第一页里面才对吧?
之后尝试了一下改为remote的方式,但是连基本的过滤功能都没有了,网上也及基本查不到资料~
所以问问大神们~首先用local这个方式为什么出现这个问题?如果local不行,remote的话要怎么写呢?

附上代码~:
//Filter
var filters = {
ftype : 'filters',
encode : false, // json encode the filter query
local : true
};

//Store
var UserStore = Ext.create('Ext.data.Store', {
autoLoad : false,
model : 'User',
pageSize : 20,// 分页大小
proxy : {
type : 'ajax',
url : 'userList.action',
reader : {
type : 'json',
root : 'userList',
totalProperty : 'totalProperty'
}
}
});
UserStore.load({
params : {
start : 0,
limit : 20
}
});

//Grid
var userGrid = new Ext.grid.Panel({
features : [filters],
store : UserStore,
....colums略

1个回答

只用过local模式的filter,效果就是你说的这种,这东西作为插件做成这个程度已经差不多了。你想,你跳转到第二页本来就是发请求到后台去获取第二页数据的,作为local模式,它在当前页面当然获取不到你第二页的数据。另外remote模式我没用过,不过我记的remote模式要传特殊的参数给后台的,这个参数应该就是要查询的内容了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐