当前位置: 代码迷 >> Web前端 >> ext grid 关于数目字的过滤
  详细解决方案

ext grid 关于数目字的过滤

热度:28   发布时间:2012-11-22 00:16:41.0
ext grid 关于数字的过滤
   在上一篇文章(解决ext grid过滤问题)中我以为已经解决了所有的过滤问题,但是过了几天才发现,关于数字的过滤还不自动清除,所以经过对过滤源文件NumericFilter.js的调试,发现serialize这个方法出问题了,当有需要过滤的数字时它会通过
for(var key in values)
  args.push({type: 'numeric', comparison: key, value: values[key]});

这个循环向args数组对象中赋值,从而在过滤主文件GridFilters.js中的getFilterData方法中的var d = [].concat(f.serialize());这个段代码,d的length才可以不为0,进行下面for循环的赋值。

   但是当清除数字的过滤后,在NumericFilter.js中就不会走那个for循环,从而ars为null,故在GridFilters.js中就不能给赋空值。

   所以我在NumericFilter.js中的serialize方法中for循环的下面我加了这段代码
if(args == "")
  args.push({type: 'numeric', comparison: 'aa', value: ''});

给他附一个不影响结果的值,总之到后台也会过滤掉的,所以不影响程序的,从而解决了问题。