GWT StoreFilterField - 自动过滤器

时间:2013-02-21 15:45:26

标签: java gwt event-handling widget gxt

我想在文本字段中过滤没有类型的树,但是当触发事件时。 我试着像这样继承StoreFilterField:

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;
        }

    };

当我想过滤我的树时:

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

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

1 个答案:

答案 0 :(得分:0)

我解决了自己添加这个构造函数的问题:

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);
      }
    };
}