Avatar billede qumle Nybegynder
02. maj 2003 - 10:56 Der er 8 kommentarer og
1 løsning

Liste, gennemløb af

når jeg gennemløber min chList får jeg en fejl om at List som Enumeratoren er bundet til er ændret. men jeg ændre den jo kun før jeg opretter Enumeratoren. Hvad gør jeg forkert?

CheckBoxList chList;

void Page_Load(Object sender, EventArgs e) {
    chList = new CheckBoxList();
    foreach(Flyt f in list){
        chList.Controls.Add(new CheckBoxList());
    }
         
    IEnumerator listEnum = chList.Controls.GetEnumerator();
   
    foreach (Flyt f in list){

        TableRow row = new TableRow();

        listEnum.MoveNext();
        TableCell cell = new TableCell();
/*Fejl*/CheckBox chBox = (CheckBox)listEnum.Current;
        cell.Controls.Add(chBox);
        row.Cells.Add(cell);       
    }
.
.
.
}
Avatar billede erikjacobsen Ekspert
02. maj 2003 - 11:26 #1
Kan det være fordi:

  chList.Controls.Add(new CheckBox());

Nogen speciel grund til at du laver det af 2 omgange. Hvorfor ikke:

    foreach(Flyt f in list){
      CheckBox b = new CheckBox();
      ...alt det fra den anden foreach...
      chList.Controls.Add(b);
    }
Avatar billede qumle Nybegynder
02. maj 2003 - 11:49 #2
ja det hjælper hvis jeg flytter det ind i samme løkke men hvorfor? jeg ændrer jo ikke i listen så længe Enumeratoren eksisterer, der bliver lavet en nye efter sidste gennemløb
Avatar billede erikjacobsen Ekspert
02. maj 2003 - 11:56 #3
Hvad var det din fejl sagde, helt præcist. Og gætter jeg rigtigt med
CheckBox og CheckBoxList, som jeg skrev før?
Avatar billede qumle Nybegynder
02. maj 2003 - 12:35 #4
det du skrev var jo det samme bortset fra at det er i samme løkke.
kan ikke lige huske fejlen præcist men det var noget i retning af:

the list that the enumerator is bound to has been changed.

hvis du vil have point skal du lige indrykke et svar
Avatar billede erikjacobsen Ekspert
02. maj 2003 - 12:37 #5
Jeg skal ikke have point.

Jeg skrev nu ikke det samme. Du havde:
    chList.Controls.Add(new CheckBoxList());
og jeg foreslog
    chList.Controls.Add(new CheckBox());
og er bare nysgerrig efter om jeg gætter helt forkert...
Avatar billede erikjacobsen Ekspert
02. maj 2003 - 12:38 #6
Og det med "the list ... has been changed" kan jeg ikke lige forklare,
men C# (og Java) har en meget forsigtig holdning til disse "ændringer".
Og det er jo godt nok.
Avatar billede qumle Nybegynder
02. maj 2003 - 12:45 #7
yes yes og ja du havde ret med hensyn til CheckBoxList, det var bare en copy-paste fejl
Avatar billede erikjacobsen Ekspert
02. maj 2003 - 12:52 #8
Så er jeg glad! Som sagt: ingen point til mig. Svar selv og accepter eget svar.
Avatar billede qumle Nybegynder
02. maj 2003 - 12:54 #9
ok tak for hjælpen
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