ユーザーが少なくとも3文字を入力した場合にのみ、ツリーを検索したいと思います。これを行うために「doSelect」イベントをキャッチするにはどうすればよいですか?テキストフィールドにキーリスナーを追加してその値を確認すると、doSelectの後にハンドラーが呼び出されます。誰か助けてもらえますか?
これは例です...
filterText = new StoreFilterField<ModelData>() {
@Override
protected boolean doSelect(Store<ModelData> store,
ModelData parent, ModelData record, String property,
String filter) {
String name = record.get("name");
name = name.toLowerCase();
if (name.startsWith(filter.toLowerCase()))
return true;
else
return false;
}
};
KeyListener keyListener = new KeyListener() {
public void componentKeyUp(ComponentEvent event) {
loadingImage.setVisible(false);
if(filterText.isValid() && filterText.getRawValue().length()>=FILTER_MIN_SIZE) {
filterText.bind(store);
} else {
filterText.unbind(store);
}
}
};
filterText.setMinLength(FILTER_MIN_SIZE);
filterText.bind(store);