Avatar billede Driton Seniormester
15. april 2016 - 00:27 Der er 4 kommentarer og
1 løsning

fjerne elementer i dropboxlist giver fejl

Når jeg udfører denne stykke kode

foreach(ListItem item in DropDownList1.Items) {

                if (item.Value == reader["FK_Tid"].ToString())
                {
                    DropDownList1.Items.Remove(item);
                   
                }

får jeg en Collection was modified; enumeration operation may not execute.

Er der nogle der ved hvordan jeg undgår det? eller kan fjerne elementer fra dropboxlist uden den fejl :/
Avatar billede Syska Mester
15. april 2016 - 00:41 #1
Du kan måske lave en

ToArray() eller ToList() på din "DropDownList1.Items", det vil lave en ny liste og det er dermed ikke den samme liste du retter i mens du looper over den.
Avatar billede Driton Seniormester
15. april 2016 - 00:43 #2
Okay jeg tror faktisk på din løsning ville virke :)

men jeg fiksede den sådan her

for(int x = 0; x < DropDownList1.Items.Count; x++)
            {
              if(DropDownList1.Items[x].Value == reader["FK_Tid"].ToString()) DropDownList1.Items.Remove(DropDownList1.Items[x]);
            }

Men du får stadig tildelt point for din venlighed
Avatar billede Syska Mester
15. april 2016 - 08:39 #3
Det du har gjort her ender mere eller mindre også ud i samme resultat.

Dog looper du over din Collection. Jeg ville personligt gå tilbage til den anden løsning med Array/List ... pænere og nemmere at læse uden at skulle tænke for meget :-)
Avatar billede Driton Seniormester
15. april 2016 - 19:03 #4
Okay, du ved nok bedst af erfaring. Men smid lige et svar ;)
Avatar billede Syska Mester
15. april 2016 - 21:36 #5
Du har accepteret det først svar :-)
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

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