13. september 2004 - 12:56Der er
10 kommentarer og 1 løsning
sæt en combobox's selectedvalue
Jeg har en combobox med x-antal medarbejderer... kan jeg så sætte den selectede value uden at stå med referancen til en af de medarbejderer men kun med et navn f.eks.?
er det selected value du mener, eller selected item?
Hvis du har fyldt comboboxen via databinding og sat en value member, så kan du bruge selve value (ofte et id nummer). Tekst alene er lidt mere kringlet
Jeg har fyldt den med objecter som er hentet fra db, og de bliver så vist med deres ToString() og så har jeg en string hvor der f.eks. står "test medarbejder" og så skal jeg kunne sætte comboboxen's selectedvalue/item (jeg regner egentlig med at item er ude af billedet da det vel er referencen der sammenlignes på) til det object der har en ToString() med texten "test medarbejder"
Hvis du fylder den fra en DB, så burde du kunne hente et id nummer eller lignende (unik pr. objekt) sammen med, som du kan data binde til value member i comboboxen, det er ret let når man piller disse informationer ud...
Så kan du bruge det id nummer til at genfinde dine objekter med. Value member kan brugeren ikke se, så det er bare for at gøre det nemmere at finde objekter med igen.
Ellers kan du prøve med SelectedText, men det er ikke noget jeg selv ville bruge.
Forresten: opbevarer du objekterne som blobs i en database, eller genererer du objekterne ud fra en tabel? I sidstnævnte tilfælde vil data og value member være ret nemme at benytte...
Du kan lave et DataSet med din(e) tabel(ler) i. hvis du gør det kan du binde din combobox ved at sætte datamember til den tekstværdi du vil have vist (f.eks. medarbejder navn). ligeledes sætter du valuemember til f.eks. medarbejder Id.
Hvis du så vil vælge medarbejderen med id 15, kan du bare sætte combobox.SelectedValue = 15; (tilpas til din navngivning)
Så har du også direkte adgang til hele tabellen og kan pille informationer ud løbende.... Sig til hvis du vil have nogle eksempler med DataSet/valuemembers, der findes en hel del rundt omkring
hmmmm, det lyder lidt mærkeligt, men kendetegnet for datareader er jo at den er oneway-only. Kunne du ikke lægge dine objekter i en liste/container, som du kan bruge i combobox'en som datakilde?
Jeg vil forsøge at kigge efter en text søgning til combobox, men er ret travlt beskæftiget lige nu
Hvorfor fylder du ikke comboboxen med objekterne medarbejdere (oprettet med en constructor som tager id'en fra DB med) og sletter dem i DB ud fra ID'en?
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.