Ho una gridview con un campo campo mail template checkbox ed un mail
Vedi codice html:
<asp:CheckBox ID="chkCeccato1" runat="server" AutoPostBack="true"/>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="id_newsletter" DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None">
<Columns>
<asp:BoundField DataField="mail" HeaderText="mail" SortExpression="mail" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkCeccato2" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
code behind:
Protected Sub chkCeccato1_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkCeccato1.CheckedChanged
Dim chkCeccato1 As CheckBox
Dim chkCeccato2 As CheckBox
chkCeccato1 = CType(Me.FindControl("chkceccato1"), CheckBox)
For Each l_GridViewRow As GridViewRow In GridView1.Rows
chkCeccato2 = CType(l_GridViewRow.Cells(1).FindControl("chkCecca to2"), CheckBox) 'valore della CheckBox all'interno della cella
If chkCeccato1.Checked Then
chkCeccato2.Checked = True
Else
chkCeccato2.Checked = False
End If
Next
End Sub
Il problema è che GridView1.Rows mi restituisce count=0 quindi all'interno del ciclo for next non ci entra. Ma se tolgo il campo template checkbox dalla gridview1 la proprietà gridview1.rows mi restituisce il giusto numero di righe della gridview e quindi mi entra nel ciclo for next.
Il mio scopo è quello di riuscire a selezionare tutti i campi delle checkbox che si trovano all'interno della gridview selezionando una checkbox che si trova all'esterno della gridview1.
Grazie ancora una volta , ma secondo me non ha molto senso!

Rispondi quotando
