Avatar billede mn Nybegynder
15. november 2004 - 12:41 Der er 6 kommentarer og
1 løsning

ListItemCollection til ListBox inkl selected-indstillinger

Hej Eksperter,

Jeg har prøvet at lave følgende på en listbox på en asp.net side.
Det er lagt i page-load.

Den husker ikke at jeg har bedt om at elementet med teksten "to" skal være markeret.

Hvad går der galt?
-------------------------------

            ListItemCollection lic = new ListItemCollection();

            lic.Add(new ListItem("Et","1"));
            lic.Add(new ListItem("To","2"));

            lic.FindByValue("2").Selected = true;

            ListBox1.DataSource = lic;
            ListBox1.DataBind();

----------------------------------

Det er muligt at man kan gøre det nemmere, men jeg er interesseret i at benytte listitemcollectionen. Det kommer fra en static funktion.. så ovenstående er blot en forsimpling af den overordnede problemstilling.

Håber på svar.


Mvh.
Morten Nielsen
Avatar billede snepnet Nybegynder
15. november 2004 - 18:37 #1
du kalder FindByValue før du databinder, så der er nok ikke noget at finde på det tidspunkt.
mvh
Avatar billede mn Nybegynder
15. november 2004 - 19:58 #2
Mit formål er at jeg skal kunne have en "endelig" ListItemCollection, så det eneste der skal gøres er at sætte datasourcen og databinde.
ListItemCollection'en bliver dannet et helt andet sted...

ethvert ListItem har jo en Selected-property... så jeg tænker at det må kunne lade sig gøre...

Er der mon nogle ideer?
Avatar billede snepnet Nybegynder
16. november 2004 - 00:50 #3
ja - sorry... var ikke lige så vågen der.

du kan databinde til de fleste lister, men det at listen tilfældigvis er en ListItemCollection gør ikke at din databinding sikrer at de items du får i din ListBox er de items der er i din oprindelige liste.

Jeg vil tror at du kan gøre sådan her istedet - med det ønskede resultat til følge :

ListItemCollection lic = new ListItemCollection();

lic.Add(new ListItem("Et","1"));
lic.Add(new ListItem("To","2"));

lic.FindByValue("2").Selected = true;

foreach(ListItem listItem in lic)
  ListBox1.Items.Add(listItem); 

mvh
Avatar billede mn Nybegynder
16. november 2004 - 09:20 #4
Det fik det til at virke. Spøjst at datasource ikke samler selections op...

Jeg tror jeg selv skriver en metode til det...

Tusind tak for hjælpen. Points på vej!
Avatar billede snepnet Nybegynder
16. november 2004 - 10:17 #5
det var så lidt :o)
mvh
Avatar billede snepnet Nybegynder
02. december 2004 - 18:50 #6
hej mn - er det ok her ?
mvh
Avatar billede mn Nybegynder
03. december 2004 - 08:51 #7
Undskyld! Jeg troede du havde fået dem. Doh !!
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester