TtihiMedlem sedan maj 200235 inlägg Jag har (som jag tidigare skrivit) en sida med bl.a. en massa TextBoxar. Jag har nånstans läst att man kan gå igenom alla dessa på sidan m.h.a. Panel.... Är det nån som vet hur detta kan lösas? Har letat igenom alla böcker men hittar det inte igen. Jag vet (tror jag) att det var en for each loop och sen nåt vilkor som avslutades med .......Type(TextBox)
Hmmm nån som fattar nåt?!? =)
GGrynetMedlem sedan maj 2001329 inlägg Stoppa alla dina texboxar i en panel som du tex döper myPanel. I koden sen kan du göra en loop genom alla kontroller på panelen, tex:
foreach(TextBox textbox in myPanel.Controls){
textbox.Text = ""; //bara för att göra nått
}
eftersom jag inte är helt säker på att du kan kasta en kontroll till en textbox bara sådär rakt av i en foreach loop så visar jag en for loop osså
for(int i=0;i<myPanel.Controls.Count;i++){
((TextBox)myPanel.Controls[i]).Text = ""; //göra nått
}
så nånting, absolut inte testade kodsnuttar
[redigerat]
foreach loop :)
foreach(Control control in myPanel.Controls){
try{ //kollar att vi kunde konvertera till en textbox
((TextBox)control).Text = ""; //bara för att göra nått
}
catch{} //det var en annan kontrol
}
[/redigerat]
TtihiMedlem sedan maj 200235 inlägg Hmm, får det att fungera till den gräns att den plockar fram de olika controls som finns på sidan men det stannar på den nivån att jag får fram att det finns en HtmlTable.... Hur ska jag sedan kunna komma åt de raderna i tabellen? KNÄPP!!!!! Jag fattar inte hur man får fram och kollar om det är tabellrader!!!!!
For Each control In pnlPanel.Controls
If control.GetType().ToString = "System.Web.UI.HtmlControls.HtmlTable" Then
m = m + 1 ' testräknare
End If
n = control.GetType() 'test för att skriva ut typen
b = b + c + n.ToString ' onödigt krångel
j = j + 1 ' små testräknare...
'CType(control, HtmlTableRow).Visible = False '!! Hur kollar man om det är en HtmlTableRow som Grynet skrev ovan i VB.NET???
Next
GGrynetMedlem sedan maj 2001329 inlägg