Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJs远程(列表)过滤器重置_Extjs - Fatal编程技术网

ExtJs远程(列表)过滤器重置

ExtJs远程(列表)过滤器重置,extjs,Extjs,我有一个关于Extjs远程过滤器的问题,我希望您能帮助澄清 我已经创建了一个带有远程过滤器的网格,它工作得很好,但是如果我更新网格信息,过滤器会保留以前加载的数据 我已经尝试了所有的方法:store.doDestroy、store.removeAll,甚至使用Ex.create为var分配一个新的存储,但是我没有成功 我创建了一个用于复制我的问题: 第一次加载默认信息辛普森 然后打开“Hobbie”过滤器,模拟选择一个不同的。你有爵士乐、滑冰、啤酒和针织。 之后,将网格数据开关更新为Van Ho

我有一个关于Extjs远程过滤器的问题,我希望您能帮助澄清

我已经创建了一个带有远程过滤器的网格,它工作得很好,但是如果我更新网格信息,过滤器会保留以前加载的数据

我已经尝试了所有的方法:store.doDestroy、store.removeAll,甚至使用Ex.create为var分配一个新的存储,但是我没有成功

我创建了一个用于复制我的问题:

第一次加载默认信息辛普森 然后打开“Hobbie”过滤器,模拟选择一个不同的。你有爵士乐、滑冰、啤酒和针织。 之后,将网格数据开关更新为Van Houtens 最后,尝试获取范霍顿的爱好视频游戏、玛格丽塔和None,但您可以获得辛普森的爱好爵士乐、滑板..,因为过滤器之前已加载。请注意,没有加载掩码。 现在重新启动测试,跳过步骤2和步骤5,以避免无限循环XD,并注意如何显示正确的爱好。 我需要“重置”以前的存储负载

注:

如果我只是执行store.load,则会触发请求,但返回的值不会绑定到筛选器列表。 如果尝试使用以下绑定绑定存储:{store:'{filterStore}}},则不会发生任何情况
您只需重新绑定每个列的筛选器,如下所示:

var grid = this.up('grid');

//Clear the current filters before changing
grid.getPlugins()[0].clearFilters();

var store = grid.getStore();
setStoreFilter(store, 'Van Houten');

//Setting the store filters is not enough    
setStoreFilter(filterStore, 'Van Houten');
setStoreFilter(hobbiesStore, 'Van Houten');

//You need to "rebind" the store, it needs a little delay to work properly
setTimeout(function(){ grid.getColumns()[3].filter.bindMenuStore(hobbiesStore); }, 1000);

这是小提琴上更新的

,我看不出你是不是被卡住了。还是不清楚问题出在哪里。你所说的“努力获得”是什么意思?不清楚你想获得什么。如果您看到了,我看不到您试图在哪里为一个族仅加载过滤器。simpson系列的过滤器是hair.json的整个列表,这就是为什么总是显示这些过滤器的原因。请详细说明。谢谢回答。我做了一些更新。现在,头发颜色过滤器应基于族过滤器。请注意该过滤器是如何未清除的,或者至少我不知道网格内容是否已更新。提前谢谢!