Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia meus amigos!
Embora possa parecer um tópico repetitível, afirmo que o meu problema é diferente.
Peguei aqui mesmo no fórum uma orientação de como fazer seleção múltipla no gridview usando checkbox, mas ocorre que sempre que eu clico no botão "vincular" que faz a seleção múltipla todos os IF's que testam se o checkbox está checked retornam false. Posso marcar todos mas sempre retorna false.
O grid estava num updatePanel e pensando ser um problema no postback assíncrono tirei o updatePanel... e nada!!! Continua o mesmo problema. Já procurei em vários fóruns e todo mundo ensina do mesmo jeito que fiz e que peguei aqui mesmo, mas o meu não dá certo. Me ajudem por favor!
protected void btnVincular_Click(object sender, EventArgs e)
{
for (int i = 0; i < gvLista.Rows.Count; i++)
{
System.Web.UI.WebControls.CheckBox ckb = (System.Web.UI.WebControls.CheckBox)gvLista.Rows[i].FindControl("ckbList");
if (ckb != null)
{
if(ckb.Checked)
id = Convert.ToInt32(gvLista.Rows[i].Cells[4].Text);
ids.Add(id);
}
}
}
Código da página onde criei o grid
<asp:GridView ID="gvLista" runat="server" AutoGenerateColumns="False"
BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
CellPadding="4" DataKeyNames="_disciplinaID" ForeColor="Black"
GridLines="Vertical"
Width="700px" onprerender="gvLista_PreRender">
<RowStyle BackColor="#F7F7DE" />
<Columns>
<asp:BoundField DataField="_disciplinaID" HeaderText="_disciplinaID"
SortExpression="_disciplinaID" Visible="False" />
<asp:BoundField DataField="_nomeDisciplina" HeaderText="Nome da Disciplina"
SortExpression="_nomeDisciplina" />
<asp:BoundField DataField="_cargaHoraria" HeaderText="Carga Horária"
SortExpression="_cargaHoraria" />
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ckbList" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" Visible="False">
<ItemTemplate>
<asp:Label ID="lbID" runat="server" Text='<%# Eval("_disciplinaID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<FooterStyle BackColor="#CCCC99" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
O checkBox fica marcado no grid quando clico no checkbox mas ao clicar no botão vincular coloquei um breakpoint e vi que o checked está sempre false, mesmo na linha onde o checkbox está marcado.
Se puderem me ajudar agradeço!
Abraço!
Carregando comentários...