Estrapolare informazioni utili da un repeater

mercoledì 31 maggio 2006 - 02.41

event Profilo | Newbie

Ho creato un repeater(
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="sdsUtentiStandby"> <ItemTemplate> <table> <tr> <td> <asp:CheckBox ID="cbxSelezione" runat="server" /> </td> <td> <uc1:Utente ID="Utente1" runat="server" idUtente='<%#Eval("id_utente")%>' /> </td> </tr> </table> </ItemTemplate> </asp:Repeater>
)che ha al suo interno una serie di checkbox collegati ad un utente che si trova nella pagina: utente.ascx.
Scrivendo: Repeater1.Items.Count() ottengo il numero di checkbox del repeater... ma a me serve scovare l'id dei checkbox cosi' posso verificare se sono stati checkati.
Inoltre mi serve sapere un dato checkbox con un dato id, a quale utente(o id_utente) corrisponde in modo tale da fare la query che si occupi di modificare solo gli utenti checkati.
Probabilmente queste 2 cose vanno all'unisono... cioè mi aspetto di avere un id delle checkbox che contenga al suo interno l'id_utente... o qualcosa del genere insomma...
voi che dite?

PS: inoltre ho scoperto (penso che per molti di voi nn sia un mistero ) che nell'HTML risulta venirsi a creare un campo hidden che mi sarebbe molto utile, ovvero:
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra
dove 19 è l'ID dell'utente che si trova nel check box 00(cioè il primo...).
Quindi avendo a disposizione la possibilità di utilizzare le informazioni contenute in questo campo avrei sia il numero del checkbox sia il numero dell'id dell'utente... che è quello che sto cercando....

freeteo Profilo | Guru

ciao,
io ti cosiglierei di fare 1bel ciclo lato server sulle righe e vai a trovare gli oggetti che ti servono con il metodo "FindControl":

For index As Integer = 0 To griglia.Rows.Count - 1 Dim cb As CheckBox = CType(griglia.Rows(index).FindControl("mioCheckBox"), CheckBox) Dim cb As TextBox = CType(griglia.Rows(index).FindControl("mioTextBox"), TextBox)

oppure con 1 foreach ovviamente...
Se devi farlo lato client allora devi passare via javascript , io ad esempio usavo:

<script type="text/javascript" > function select_deselectAll (chkVal, idChk) { var frm = document.forms[0]; for (i=0; i<frm.length; i++) if (frm.elements[i].name.indexOf(idChk) > -1) frm.elements[i].checked = chkVal == true; } </script>

ma forse a te serve la prima per elaborare i valori...
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
http://blogs.dotnethell.it/freeteo
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