Problem mit Repeater



  • Hallo zusammen,

    ich habe folgendes Problem.
    Ich habe ein RepeaterControl das mir Daten aus einem DataSet ausgibt.
    Dabei wird für jeden Eintrag eine Checkbox generiert und dahinter steht dann der Text aus dem DataSet.

    Jetzt möchte ich nach einem OnCheckedChanged Ereignis mit einer foreach schleife alle Checkboxen abfragen.

    C#
    CheckBox box;
    foreach(Control c in this.Repeater1.Controls)
    {
    box = c as CheckBox;

    if(box!=null)
    {
    vm.Language += "Speech='" + box.Text + "'";
    }
    }

    das Problem ist jetzt das box immer null ist.
    Frage: Warum? 😕



  • foreach(Control c in this.Repeater1.Controls)
    {
        if(c is CheckBox)  // prüfen ob c eine CheckBox ist, wenn ja dann casten
        {
            box = c as CheckBox;
        }
    }
    


  • Meinst du so:
    CheckBox box;
    foreach(Control c in this.Repeater1.Controls)
    {
    if(c is CheckBox)
    {
    box = c as CheckBox;

    if(box!=null)
    {
    vm.Language += "Speech='" + box.Text + "' OR ";
    }
    }
    }

    c ist bei mir immer false!



  • In diesem Code liegen die CheckBoxen auf einem Panel und wenn der Cast erfolgreich war wird eine MessageBox ausgegeben. Dieser Code funktioniert. Dann liegt es vielleicht an dem Repeater, da kann ich Dir aber nicht helfen, weil ich damit noch nicht gearbeitet habe.

    CheckBox box;
    foreach(Control c in this.panel1.Controls)
    {
        if(c is CheckBox)  // prüfen ob c eine CheckBox ist, wenn ja dann casten
        {
            box = c as CheckBox;
    	if(box != null)
    	    MessageBox.Show(box.Text);
        }
    }
    

    P.S. Verwende bitte CodeTags für den Quellcode.


Anmelden zum Antworten