【问题标题】:Ext.js grid filter not triggeringExt.js 网格过滤器未触发
【发布时间】:2015-12-01 16:54:47
【问题描述】:

我是 Ext.js 的新手,但对于一位客户,我正在研究他们的网格代码,以努力让他们的列过滤正常工作。默认情况下,网格在大多数列上使用字符串过滤器。我能够更新用于测试的列以使用列表过滤器。在前端,这最初看起来像预期的那样作为字符串过滤器和列表过滤器显示。问题是一旦选择了过滤器(或在字符串框过滤器中输入文本),什么也没有发生。没有触发过滤器,控制台上没有消息。没有。我不知道从哪里开始解决这个问题。似乎它必须是创建网格(集中式)的代码的全球问题。以下组件位于它们的 Ext.require 语句中:

Ext.require([
'Ext.data.*', 
'Ext.grid.*',
'Ext.grid.plugin.BufferedRenderer',
'Ext.ux.grid.FiltersFeature',
'Ext.ux.form.SearchField',
'Ext.toolbar.Paging']);

在不包括整个代码(分散到多个库中)的情况下,对我的故障排除工作的重点有什么建议吗?

Sencha Ext.js 4.2.2 版本

【问题讨论】:

  • 您不应该一头扎进分布在十几个库中的意大利面条式代码。您应该首先在一个小的 sencha fiddle 中实现和调试所需的功能。这大约是 100 行,给予或接受。之后,获取您在小提琴中设置的每个属性并检查其在大代码中是否存在。
  • 在小提琴中,您必须检查分页、缓冲渲染器和过滤器功能之间的兼容性。
  • 您想在本地还是远程过滤记录?
  • 我想在本地过滤。

标签: javascript extjs


【解决方案1】:

在网格中你必须添加这个配置

 features: [{
    ftype: 'filters',
    local: true
}]

您还可以在此链接中查看运行示例和代码。

http://docs.sencha.com/extjs/4.2.5/extjs-build/examples/build/KitchenSink/ext-theme-neptune/#big-data-grid

【讨论】:

  • 是的,我相信这是按照您的指示设置的。
【解决方案2】:

发现问题。问题是在网格存储定义中有一个对 filterBy 方法的调用,该方法在所有情况下都返回 true。我怀疑这会覆盖我尝试使用字符串过滤器的任何过滤结果。删除对该方法的调用会得到所需的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多