GWT StoreFilterField - 自动过滤器 [英] GWT StoreFilterField - auto filter

查看:161
本文介绍了GWT StoreFilterField - 自动过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想过滤一个没有键入文本框的树,但是当事件被触发时。
我尝试了如下子类化StoreFilterField:

I would like to filter a tree without type in the textfield, but when an event is triggered. I tried subclassing StoreFilterField like this:

class MyStoreFilter<M extends ModelData> extends StoreFilterField<M>{
public MyStoreFilter() {
            super();
        }

        public void startFilter(){
            super.onFilter();
        }


        @Override
        protected boolean doSelect(Store<M> store, M parent, M record,
                String property, String filter) {
            String name = record.get("name");
            name = name.toLowerCase();
            if (name.startsWith(filter.toLowerCase())) 
                return true;
            else
                return false;
        }

    };

而当我想过滤我的树时:

And when i want to filter my tree:

MyStoreFilter<ModelData> f=new MyStoreFilter<ModelData>();
f.setRawValue(myText);
f.bind(store);
f.startFilter();

但是不起作用,我的过滤器显示了我的树的所有项目。
有什么不对?

But doesn't work, and my filter shows all items of my tree. What is wrong?

推荐答案

我解决了我自己添加的构造函数:

I solved myself adding this constructor:

public MyStoreFilter(String f)  {
    filtro=f;
    setAutoValidate(true);
    setValidateOnBlur(false);
    setTriggerStyle("x-form-clear-trigger");
    filter = new StoreFilter<M>() {
      public boolean select(Store<M> store, M parent, M model, String property) {
        String v = filtro;
        return doSelect(store, parent, model, property, v);
      }
    };
}

这篇关于GWT StoreFilterField - 自动过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆