Hoi, ik heb een aantal textboxen (txtThuisploeg1...txtThuisploeg8, txtUitploeg1..txtUitploeg8 etc.)
Deze wil ik vullen tijdensruntime. Er moet dan gekeken worden naar welke datum geselecteerd is in een dropdown list.
Ik kan natuurlijk heel simpel alle data met de betreffende datum ophalen en dan al die textboxen vullen.
Maar volgens mij moet het ook sneller kunnen, daarom heb ik de textboxen nagenoeg hetzelfde genoemd.
Ik dacht eerst iets van dit:
Alle gegevens van de desbetreffende datum worden gevuld in de datatable voorspellingen, en dan wil ik dus voor iedere rij de textboxen vullen (rij 1 alle textboxen met 1 achter de ID, rij 2 alle textboxen met 2 achter het ID etc.)
Maar met FindControl werkt het toch niet, dit blijkt niet de juiste manier te zijn. Nu is mijn vraag hoe ik dit anders moet aanpakken?
Of zou ik toch steeds iedere textbox aan moeten roepen en kan ik het dus niet simpel en kort in een foreach loopje zetten.
Deze wil ik vullen tijdensruntime. Er moet dan gekeken worden naar welke datum geselecteerd is in een dropdown list.
Ik kan natuurlijk heel simpel alle data met de betreffende datum ophalen en dan al die textboxen vullen.
Maar volgens mij moet het ook sneller kunnen, daarom heb ik de textboxen nagenoeg hetzelfde genoemd.
Ik dacht eerst iets van dit:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
| VoorspellingenTableAdapter voorspellingenAdapter = new VoorspellingenTableAdapter(); ChampionsLeagueDataSet.VoorspellingenDataTable voorspellingen = voorspellingenAdapter.GetVoorspellingenaByDeelnemerIDANDDatum((int)Session["DeelnemerID"], DateTime.Parse(ddDatum.SelectedValue)); int i = 1; foreach (ChampionsLeagueDataSet.VoorspellingenRow voorspelling in voorspellingen) { string sThuisploeg = "txtThuisploeg" + i.ToString(); Control cThuisploeg = FindControl(sThuisploeg); TextBox tThuisploeg = (TextBox)cThuisploeg; tThuisploeg.Text = voorspelling.thuisploegNaam; string sUitploeg = "txtUitploeg" + i.ToString(); TextBox cTUitploeg = (TextBox)FindControl(sUitploeg); cTUitploeg.Text = voorspelling.uitploegNaam; string sScoreThuisploeg = "txtThuisploeg" + i.ToString(); TextBox cScoreThuisploeg = (TextBox)FindControl(sScoreThuisploeg); cScoreThuisploeg.Text = voorspelling.thuisploegNaam; string sScoreUitploeg = "txtThuisploeg" + i.ToString(); TextBox cScoreUitploeg = (TextBox)FindControl(sScoreUitploeg); cScoreUitploeg.Text = voorspelling.thuisploegNaam; i++; } |
Alle gegevens van de desbetreffende datum worden gevuld in de datatable voorspellingen, en dan wil ik dus voor iedere rij de textboxen vullen (rij 1 alle textboxen met 1 achter de ID, rij 2 alle textboxen met 2 achter het ID etc.)
Maar met FindControl werkt het toch niet, dit blijkt niet de juiste manier te zijn. Nu is mijn vraag hoe ik dit anders moet aanpakken?
Of zou ik toch steeds iedere textbox aan moeten roepen en kan ik het dus niet simpel en kort in een foreach loopje zetten.