2011-02-15 71 views
0

当一个人触发Grid.filters.clearFilters()命令时,它是否立即执行? 我的问题是: 我做的:extjs clearfilters()不会立即执行吗?

Grid.filters.clearFilters(); 

然后later.elsewhere ...

filters.buildQuery = function(filters){ 
for(var i=0, len=filters.length; i<len; i++) {..custom logic.} 
} 

它进入一个无限循环。看来这里的过滤器obj的状态没有被正确定义。 当我在for循环之前放置一个alert()时,警报会给它足够的时间来清除过滤器,并且它工作正常。

我可以做些什么来确保clearfilters在filters.buildQuery开始执行之前完成?在Java相当于

Thread t1 = new Thread(); 
t1.jon();//so all other thread wait. 
+0

什么是网格?什么是分机类型?一个网格面板? API中的网格上没有本地的“过滤器”属性,因此您不应该使用它或者它不存在。 – JamesHalsall 2011-02-15 18:31:59

回答

0

Grid.filters的东西(我假设ü意味着ux.Gridfilters插件)正常工作与转网。

我说先删除在循环中的额外的参数,然后看看会发生什么:)

JavaScript的循环语法是:

for (variable=startvalue;variable<=endvalue;variable=variable+increment) 
{ 
    code to be executed 
}