Java GWT StoreFilterField-自动过滤器
我想过滤文本字段中没有类型的树,但在触发事件时。 我尝试过将StoreFilterField子类化,如下所示:Java GWT StoreFilterField-自动过滤器,java,gwt,event-handling,widget,gxt,Java,Gwt,Event Handling,Widget,Gxt,我想过滤文本字段中没有类型的树,但在触发事件时。 我尝试过将StoreFilterField子类化,如下所示: class MyStoreFilter<M extends ModelData> extends StoreFilterField<M>{ public MyStoreFilter() { super(); } public void startFilter(){ super.on
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类扩展了StoreFilterField{
公共MyStoreFilter(){
超级();
}
公共无效startFilter(){
super.onFilter();
}
@凌驾
受保护的布尔doSelect(存储、M父项、M记录、,
字符串属性,字符串筛选器){
String name=record.get(“name”);
name=name.toLowerCase();
if(name.startsWith(filter.toLowerCase())
返回true;
其他的
返回false;
}
};
当我想筛选我的树时:
MyStoreFilter<ModelData> f=new MyStoreFilter<ModelData>();
f.setRawValue(myText);
f.bind(store);
f.startFilter();
MyStoreFilter f=new MyStoreFilter();
f、 setRawValue(myText);
f、 绑定(存储);
f、 startFilter();
但不起作用,我的过滤器显示我树的所有项目。
怎么了?我解决了添加此构造函数的问题:
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);
}
};
}
公共MyStoreFilter(字符串f){
filtro=f;
设置自动验证(true);
设置模糊(假);
setTriggerStyle(“x-form-clear-trigger”);
filter=newstorefilter(){
公共布尔选择(存储、M父项、M模型、字符串属性){
字符串v=过滤器;
返回doSelect(存储、父项、模型、属性、v);
}
};
}