Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lumiere

CheckBox só dá false - GridView

Recommended Posts

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

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

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

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

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

é, 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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.