De CheckBox's zijn wel VB .Net checkbox's, maar dynamisch opgebouwd. Reden hiervoer is dat ze in een tabel komen te staan, die ook dynamisch word opgebouwd. Misschien moet ik hier al anders beginnen, met een of andere Grid ofzo, maar dat zou ik niet weten.
Het opbouwen is gelukt. Bij On Page Load wordt de tabel tblPersons dynamisch opgebouwd, en daarbij een array van CheckBox's aan toegevoegd. Hier een stukje van de code, kaalgeplukt weliswaar:
Dit gaat goed, alleen nu moet ik de eventuele wijzigingen van de checkbox's op kunnen slaan. Nu zijn de CheckBox's al klikbaar en ik heb een mooi 'wijzigingen doorvoeren'-button.
Het probleem is nu, hoe krijg ik de checked (True/False) state van de checkbox's terug. De ID's zijn zoals je in de code kan zien CheckBox1, 2, etc. Het liefst loop ik weer door dezelfde loop als hierboven, met een checkbox teller, maar als het anders moet, hoor ik het graag. Op een andere website las ik dat ze een checkbox in een placeholder deden, maarja hoe doe ik dat dan? Moet ik alle checkbox's in 1 (in design time gecreeerde) placeholder stoppen, of moet ik voor elke checkbox dynamisch een placeholder opbouwen? Ik snap dat niet helemaal. Ik las ook ergens op een website dat ze met een loop door alle controls op de page liepen, en daarbij checken of het item een checkbox was of niet. Lijkt me ook niet een al te beste methode.
Ik heb op google gezocht, en vrij veel gevonden, maar ben er niet uitgekomen. Misschien kan ik beter met een CheckBoxList werken, maar ik weet ook niet hoe dat werkt.
Ik moet zoiezo zeggen dat elke keer als ik wil communiceren tussen controls op de page en de asp .net codebehind dat ik ontzettend moet kloten. Hier moet toch een makkelijkere manier voor zijn? Of doe ik het nou fout? Nog 1 keer mn uiteindelijke vraag: Hoe krijg ik de waardes van dymanisch opgebouwde TextBox's terug (naar m'n codebehind)?
In de Klasse CEventUsers worden de gegevens weer opgeslagen, naar een database. Dat werkt allemaal perfect.
ps: zoals je merkt ben ik nog steeds in de leerfase met .net, dus als ik iets raars zeg, corrigeer me a.u.b.
Het opbouwen is gelukt. Bij On Page Load wordt de tabel tblPersons dynamisch opgebouwd, en daarbij een array van CheckBox's aan toegevoegd. Hier een stukje van de code, kaalgeplukt weliswaar:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| Dim objEvent As New CEvent(Val(Request("ID_Event")))
Dim objEventUser As CEventUser
For Each objEventUser In objEvent.Users
Dim rowHtml As New HtmlTableRow
Dim celHtml As New HtmlTableCell
intCBTeller += 1
ReDim Preserve chkBox(intCBTeller)
chkBox(intCBTeller) = New CheckBox
chkBox(intCBTeller).ID = "CheckBox" & intCBTeller.ToString
chkBox(intCBTeller).Checked = objEventUser.blnPayed
chkBox(intCBTeller).Visible = True
celhtml.Controls.Add(chkBox(intCBTeller))
rowHtml.Cells.Add(celHtml)
Next
tblPersons.Rows.Add(rowHtml) |
Dit gaat goed, alleen nu moet ik de eventuele wijzigingen van de checkbox's op kunnen slaan. Nu zijn de CheckBox's al klikbaar en ik heb een mooi 'wijzigingen doorvoeren'-button.
Het probleem is nu, hoe krijg ik de checked (True/False) state van de checkbox's terug. De ID's zijn zoals je in de code kan zien CheckBox1, 2, etc. Het liefst loop ik weer door dezelfde loop als hierboven, met een checkbox teller, maar als het anders moet, hoor ik het graag. Op een andere website las ik dat ze een checkbox in een placeholder deden, maarja hoe doe ik dat dan? Moet ik alle checkbox's in 1 (in design time gecreeerde) placeholder stoppen, of moet ik voor elke checkbox dynamisch een placeholder opbouwen? Ik snap dat niet helemaal. Ik las ook ergens op een website dat ze met een loop door alle controls op de page liepen, en daarbij checken of het item een checkbox was of niet. Lijkt me ook niet een al te beste methode.
Ik heb op google gezocht, en vrij veel gevonden, maar ben er niet uitgekomen. Misschien kan ik beter met een CheckBoxList werken, maar ik weet ook niet hoe dat werkt.
Ik moet zoiezo zeggen dat elke keer als ik wil communiceren tussen controls op de page en de asp .net codebehind dat ik ontzettend moet kloten. Hier moet toch een makkelijkere manier voor zijn? Of doe ik het nou fout? Nog 1 keer mn uiteindelijke vraag: Hoe krijg ik de waardes van dymanisch opgebouwde TextBox's terug (naar m'n codebehind)?
In de Klasse CEventUsers worden de gegevens weer opgeslagen, naar een database. Dat werkt allemaal perfect.
ps: zoals je merkt ben ik nog steeds in de leerfase met .net, dus als ik iets raars zeg, corrigeer me a.u.b.
[ Voor 3% gewijzigd door dixon op 27-04-2004 14:00 . Reden: code foutje ]
Wat een onzin..