Avatar billede fileto Seniormester
27. juni 2004 - 14:47 Der er 3 kommentarer og
1 løsning

Hvordan løber jeg en placeholde igennem for at læse dets indhold

Jeg har en placeholder med en masse checkboxe og checkboxlister jeg gerne vil løbe igennem for at lave en avanceret query baseret på hvad brugeren hakker af.
Nu vil jeg gerne løbe min placeholder igennem for at aflæse hvilke checkboxe brugeren har hakket af.

Nedenstående sætning virker fint alle controller og deres data kommer over i myEnumerator;
#code start
IEnumerator myEnumerator = plhSearchHolder.Controls.GetEnumerator();
#code slut

Det skulle nu være muligt at løbe myEnumerator igennem med en ittereation og checke alle kontroller.

Men hvordan gør man?
Avatar billede snepnet Nybegynder
27. juni 2004 - 15:05 #1
Du kan bare gå direkte på kontroltræet således :

bool isChecked = false;
foreach(Control c in this.plhSearchHolder.Controls)
{
  if(c is CheckBox)
    checked = ((CheckBox)c).Checked;
}       

Ovenstående kontrollerer ikke om der skulle være flere nivieauer af kontroller i din placeholder, men du kan altid spørge på :
if(c.HasControls()) hvis det er relevant i det du sidder med.
Avatar billede snepnet Nybegynder
27. juni 2004 - 15:25 #2
Æhh.... sorry - det var jo egentlig ikke det du spurgte om. Hvis du vil bruge enumeratoren direkte kan du gøre sådan her :

IEnumerator controls = this.plhSearchHolder.Controls.GetEnumerator();
           
while(controls.MoveNext())
{
  if(controls.Current is CheckBox)
  {                   
    //bool checked = ((CheckBox)controls.Current).Checked;
    //eller hvis du skal lave mere med den :
    //CheckBox cb = (CheckBox)controls.Current;
    //cb.Checked osv.
  }
}
Avatar billede fileto Seniormester
27. juni 2004 - 21:46 #3
Mange tak.
Det spiller jo bare. Nu føler jeg at jeg har tilgang til alt det frække i en placeholder. :-)
Giv mig lige et svar for points.
Avatar billede snepnet Nybegynder
27. juni 2004 - 22:59 #4
Svar :o)
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