Problemi con ASPTable...

giovedì 07 maggio 2009 - 15.18

GattoNero Profilo | Newbie

Mi trovo nella situazione di dovere creare delle righe e celle dinamiche in una grid. Ogni cella ha "n" controllial suo interno.

objRead = mio DataReader

If (objRead.HasRows) Then
While (objRead.Read())

If (i Mod 4 = 0) Then
row = New TableRow()
row.EnableViewState = True
row.ID = "Row" + i.ToString()
TblImages.Rows.Add(row)
End If

cell = New TableCell()
cell.Width = New Unit(25, UnitType.Percentage)
img = New System.Web.UI.HtmlControls.HtmlImage()
img.Src = objRead.GetString(3)
img.Alt = objRead.GetString(3)
c = New CheckBox()
c.ID = "ck" + objRead.GetString(3)
c.Visible = True
cell.Controls.Add(img)
cell.Controls.Add(c)
row.Cells.Add(cell)
i += 1

End While

End If

Tutto ok... quando però sono alla ricerca di quelli che sono i Checkbox non ho modo ti trovarli, ovviamente non li trovo come Controls della pagine, però la Grid mi risulta avere 0 rows e quindi non posso verificare all'interno le relative celle... ho googlato un bel po' ma soluzioni zero mi pare...

Dampyr Profilo | Junior Member

Ciao, senza sapere quando chiami questa routine che hai fatto nella pagina non si possono escludere altri errori, io direi di provare in questo modo:
- creati tutti i controlli che vuoi con le tue logiche (if.. case ...)
- aggiungi i controlli partendo dalle celle e poi su fino ad aggiungere la riga alla tabella

es: creo i controlli dinamicamente -> associo i controlli alle celle -> associo le celle alle righe -> associo le righe alla tabella.

Prova a vedere se riesci a vedere le righe così, in caso posta un po' di codice in più.


... cerca di essere il giocatore di scacchi, non il pezzo sulla scacchiera...

GattoNero Profilo | Newbie

allora coem codice è quello ... prima eseguo solo la ricezione dei dati da DB (che comunque è corretta).. allora il codice che ho scritto lì funziona perfettamente e crea l'HTML come lo desidero...
il problema mi sorge quando alla pressione di un button nel code-behind ( utilizzo VS 2005) provo a cercare i checkboxes presenti nella pagina.. a livello pagina li vedo con i relativi ID popolati ck_XXXXX ... se io provo a ciclare fra i controls della pagina ovviamente non me li trova... trova la Table e altri controlli presenti (come ad esempio il button)... pensavo che allora fossero presenti nelle righe della grid..
e lì la mia sorpresa... l'insieme delle righe è vuoto ... cioà MiaTable.Rows.Count=0 e quindi non so dove andarli a pigliare...

Dampyr Profilo | Junior Member

>allora coem codice è quello ... prima eseguo solo la ricezione
>dei dati da DB (che comunque è corretta).. allora il codice che
>ho scritto lì funziona perfettamente e crea l'HTML come lo desidero...
>il problema mi sorge quando alla pressione di un button nel code-behind
>( utilizzo VS 2005) provo a cercare i checkboxes presenti nella
>pagina.. a livello pagina li vedo con i relativi ID popolati
>ck_XXXXX ... se io provo a ciclare fra i controls della pagina
>ovviamente non me li trova... trova la Table e altri controlli
>presenti (come ad esempio il button)... pensavo che allora fossero
>presenti nelle righe della grid..
>e lì la mia sorpresa... l'insieme delle righe è vuoto ...
>cioà MiaTable.Rows.Count=0 e quindi non so dove andarli a pigliare...

Forse li vai a cercare un po' troppo presto, e al click del button non sono stati ancora aggiunti i control nella table, prova a cercarli al pre-render, in teoria li dovresti trovare tutto.
Ti chiedevo il codice della pagina appunto per capire quando ti vai a creare i controlli (codice che hai postato) se al Load o LoadComplete o ad un evento particolare nella pagina e quando vai alla ricerca dei check...


... cerca di essere il giocatore di scacchi, non il pezzo sulla scacchiera...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5