05. januar 2009 - 13:35Der er
2 kommentarer og 1 løsning
Hurtig søgning via ComboBox
Jeg har brug for at lave noget som ligner en ComboBox (skriver det på denne måde da det ikke nødvendigvis behøver være en CB hvis der er bedre forslag).
Når jeg placerer markøren i den og begynder at skrive skal den lave en søgning i en List<string> og returnere de strings der passer på det indtastede ned i et "Auto complete" felt.
Jeg har forsøgt mig med en custom AutoComplete, men er løbet ind i det problem at lige gyldigt hvordan jeg gør det, vil jeg ikke kunne få AutoComplete til at se bort fra at det jeg har indtastet ikke nødvendigvis er de første bogstaver i den streng jeg ønsker at finde. Derfor får jeg måske nok de korrekte valgmuligheder smidt ind i min custom liste, men selve autocomplete funktionen vil stadig ikke vise disse da de ikke matcher på de første karakterer.
Kort beskrevet: Jeg vil gerne kunne indtaste "han" i et felt og derefter få vist muligheder som "Jens Hansen" og "Jens Johansen" på den måde som vi er vant til at AutoComplete viser muligheder (altså som en dropdown under ComboBox'en)
hmm .. du kan bruge en normal textbox og så en listbox lige under til resultater . Så kan du sætte en TextChanged evenhandler på textboxen .. og så selv håntere søgehædelsen og smide resultaterne i ListBoxen.
Ja det endte jeg også med at gøre selv dagen efter jeg smed spørgsmålet her.
En listbox hvor jeg trigger dropdown når der er tilgængelige resultater samt nogle Key handlere til at styre at pil ned får dig ned i listboxen, fra text feltet. Derudover endnu en keyhandler til at ryge tilbage i textboxen hvis der tastes eller trykkes backspace mens focus er i listboxen.
Det er ikke den mest elegante måde at gøre det på, men det lader til at være den eneste mulighed jeg lige kan løse det med pt.
Jeg lader spørgsmålet stå åbent lidt endnu - hvis nogen skulle få en god idé! Det ville være fedt at have det hele i en component i stedet for sådan et "workaround"
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.