lumiere 0 Denunciar post Postado Agosto 8, 2011 Bom dia, alguém pode ajudar. Tenho um gridview com checkbox e preciso verificar quais estão checados. Porém, mesmo se eu marco todos aparecem checked = false. Alguém já conseguiu resolver isso? aspx <asp:TemplateField HeaderText="Check para ...."> <ItemTemplate> <asp:CheckBox ID="chk" runat="server" /> </ItemTemplate> <ItemStyle HorizontalAlign="Center" /> </asp:TemplateField> code: for (int i = 0; i <= grd.Rows.Count - 1; i++) { if (grd.Rows[i].RowType == DataControlRowType.DataRow) { //CheckBox chk = (CheckBox)grd.Rows[i].Cells[6].Controls[1]; >> já tentei assim e nao deu; CheckBox chk = (CheckBox)grd.Rows[i].Cells[6].FindControl("chk"); if (chk.Checked) { //faça algo } } } Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Agosto 8, 2011 da sempre false ou não acha o controle? Por que você não excuta um foreach é mais simples! foreach(GridViewRow row in grd.Rows) { var chekBox = row.FindControl("chk"); if(chekBox.Checked) { //faça algo } } Compartilhar este post Link para o post Compartilhar em outros sites
lumiere 0 Denunciar post Postado Agosto 8, 2011 Olá Ivan, eu já tinha tentando assim tbm mas não funcionou (msm assim obrigada :) ). Ele acha o controle, porém dá sempre checked = false. Não sei se tem a ver com o autopostback, eu coloquei autopostback = true no checkbox e finalmente apareceu checked = true. Mas só que qdo 'checko' ele sai da posição da pagina como se tivesse atualizado a pág. aí o usuário teria que voltar p meio da pág p terminar de checar os outros, e assim fica inviável... Mais alguma sugestão? []'s Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Agosto 8, 2011 Você executa alguma ação no Page_Load da página? Compartilhar este post Link para o post Compartilhar em outros sites
lumiere 0 Denunciar post Postado Agosto 8, 2011 Sim, eu só carrego um literal. Mas o gridview eu só carrego qdo (!IsPostBack). Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Agosto 8, 2011 Então, tem que funcionar! Compartilhar este post Link para o post Compartilhar em outros sites
lumiere 0 Denunciar post Postado Agosto 8, 2011 rsrsrs! Sim Ivan, tbm concordo com você, acredito que deveria funcionar, pois já vi vários exemplos na net iguais ao meu. Mas só aparece assim> chk.Checked == false Infelizmente, não entendo onde está minha falha. Qdo coloco autpostback no checkbox funciona, mas dá aquele bug q te falei de ficar td hora 'atualizando' a pagina. Vou tentar refazer num outro aspx p ver. Mas se de repente alguém souber o q pode ser, serei mtssimo grata. []'s Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Agosto 8, 2011 Lembrei de uma coisa, o ViewState está ativado? Compartilhar este post Link para o post Compartilhar em outros sites
lumiere 0 Denunciar post Postado Agosto 8, 2011 Qdo eu vejo o código fonte aparece algo assim: <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="kHj........"> Isso significa que está ativado né? Mas (desculpe a minha ignorância) onde ativo? Compartilhar este post Link para o post Compartilhar em outros sites
Ivan.Teles 23 Denunciar post Postado Agosto 8, 2011 é, esta ativo, geralmente o padrão é ativo, a não ser que você desative-o na pagina ou no web.config. Mas esse erro de false poderia ser estivesse desativado. Ta muito estranho. Compartilhar este post Link para o post Compartilhar em outros sites