diff options
author | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-10-31 09:13:48 +0000 |
---|---|---|
committer | Matti Tahvonen <matti.tahvonen@itmill.com> | 2007-10-31 09:13:48 +0000 |
commit | 92cb17ac6b017dfa285a793ae66daa14bbf9e7c5 (patch) | |
tree | fb5a553ce64fdf4992b81fd8a7bd3f7120dd0560 /src | |
parent | 81d05b41fd4c187270e34b3d2027b99e9cc3a503 (diff) | |
download | vaadin-framework-92cb17ac6b017dfa285a793ae66daa14bbf9e7c5.tar.gz vaadin-framework-92cb17ac6b017dfa285a793ae66daa14bbf9e7c5.zip |
fixed some bugs, filtering now works somehow
svn changeset:2631/svn branch:trunk
Diffstat (limited to 'src')
-rw-r--r-- | src/com/itmill/toolkit/ui/Select.java | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/com/itmill/toolkit/ui/Select.java b/src/com/itmill/toolkit/ui/Select.java index e56666f3ad..bf31d9c3ad 100644 --- a/src/com/itmill/toolkit/ui/Select.java +++ b/src/com/itmill/toolkit/ui/Select.java @@ -234,22 +234,25 @@ public class Select extends AbstractSelect implements AbstractSelect.Filtering { this.filteredOptions = new LinkedList(getItemIds()); return this.filteredOptions; } + if (this.filterstring.equals(this.prevfilterstring)) { return this.filteredOptions; } Collection items; - if (this.filterstring.startsWith(this.prevfilterstring)) { - items = this.filteredOptions; + if (prevfilterstring != null + && filterstring.startsWith(this.prevfilterstring)) { + items = filteredOptions; } else { items = getItemIds(); } + prevfilterstring = filterstring; this.filteredOptions = new LinkedList(); for (Iterator it = items.iterator(); it.hasNext();) { Object itemId = it.next(); - String caption = getItemCaption(it); - if (caption != null || caption.equals("")) { + String caption = getItemCaption(itemId); + if (caption == null || caption.equals("")) { continue; } switch (this.filteringMode) { |