2013-02-22 75 views
0

我有一个ExtJS网格,它具有一个过滤和远程排序的存储。这些请求使用PHP在服务器端处理。启用/禁用“删除过滤器”按钮,具体取决于grid.store的活动远程过滤器。

我还在网格的工具栏中有一个按钮,用于删除使用entryGrid.filters.clearFilters()函数的商店中的筛选器。

我想启用/禁用此按钮取决于商店中是否有任何活动的过滤器。因此,当第一次加载de store(没有任何过滤器)时,该按钮被禁用。

所以我想到了将一个监听器放在store.load函数上。

什么是最干净的方式来检查是否有任何过滤器活跃,如果这确实是可能的?

我搜索网,存储和过滤器手动(http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.Store),但找不到任何参考..

在此先感谢

回答

0

我不知道,如果你使用的听众已经尝试过,但我会这样做(在商店里):

listeners: { 
    load: function(){ 
     if(!this.isFiltered()) 
     { 
      //<add actions to disable the button> 
     } 
    } 
} 
+0

我不确定isFiltered()是否适用于远程过滤。 – 2013-02-22 15:43:34

+0

即使确实有一个过滤器处于活动状态,this.isFiltered()仍会返回false。 – Lubje 2013-03-06 13:13:55