java - StringFilter 覆盖不起作用

标签 java gwt gxt

我正在尝试重写 Grid 使用的 StringFilter 的行为。 下面的代码没有任何功能,我只是想看看 validateModel 是否被调用。问题是,它从来没有被调用过。另一方面,onFieldKeyUp 正在按其应有的方式被调用。我究竟做错了什么?

我正在使用 Sencha GXT 3.1.0GWT 2.6.1Java 1.7

Filter<Record, ?> filter = new StringFilter<Record>(valueProvider)
{
    @Override
    protected void onFieldKeyUp(Event event) 
    {
        Window.alert("onFieldKeyUp");   //--> This is called
        int key = event.getKeyCode();
        if (key == KeyCodes.KEY_ENTER && field.isValid()) 
        {
            event.stopPropagation();
            event.preventDefault();
            menu.hide(true);

            return;
        }

        super.onFieldKeyUp(event);
    }

    @Override
    protected boolean validateModel(Record model) 
    {
        Window.alert("validateModel");   //--> This is NOT called
        String rowValue = getValueProvider().getValue(model);
        rowValue = (rowValue == null) ? "" : rowValue;
        Object filterObject = getValue();
        String filterValue = filterObject == null ? "" : String.valueOf(filterObject);

        if (filterValue.isEmpty() && rowValue.isEmpty()) 
        {
            return true;
        } 
        else 
        {
            //Here I want to put some more code manipulating the filtevalue
            return rowValue.toLowerCase().indexOf(filterValue.toLowerCase()) > -1;
        }
    }
};      

最佳答案

您是否放置了 filters.setLocal(true);filters.initPlugin(grid);

这是我尝试过并有效的代码:

GridFilters<MyRow> filters = new GridFilters<MyRow>();

filters.initPlugin(grid);

StringFilter<MyRow> filter = new StringFilter<MyRow>(nameValueProvider) {
  @Override
  protected boolean validateModel(MyRow model) {
    Window.alert("Hello");
    return super.validateModel(model);
  }
};

filters.addFilter(filter);
filters.setLocal(true);

关于java - StringFilter 覆盖不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695993/

相关文章:

java - 无法使用Glassfish部署War文件

java - 使用 Gin 编译时遇到问题

java - 用于远程启动服务的 CMD 命令不在代码中运行,而是在 CMD 上运行

java - 显示财务数据的 GWT 表

java - GWT - Netbeans 无法启动开发模式

javascript - 未知的运行时错误号 : -2146827687

java - 如何存储和管理大文件

gwt - CSS:z-index 不适用于 Google Chrome 中的 SPAN

java - GWT JSONObject 覆盖类型(或在共享中使用 JSONObject)

java - GXT 3 多排序网格