1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

finnd control para salvar o estado check das cbx gridview asp-net c#

Discussão em 'Web Development' iniciada por alfinete, 10 de Fevereiro de 2009. (Respostas: 0; Visualizações: 1272)

  1. alfinete

    alfinete Power Member

    tenho aqui um pageindex da mimha grid que é um controlo
    Código:
     GridView oGV = (GridView)WucDynamicGridView1.FindControl("gvDynamic");
    e as checkbox da mesma são outro controlo (associar checckbox a grid)

    Código:
       WucCRUDOperationNavBar1.GridViewName = "gvDynamic";



    Código:
       protected void gvDynamic_PageIndexChanging(object sender, GridViewPageEventArgs e)
            {     
                GridView oGV = (GridView)WucDynamicGridView1.FindControl("gvDynamic");
                WucCRUDOperationNavBar1.GridViewName = "gvDynamic";
    
                string[] arrIDs = this.hdchecksave.Value.Split(new char[] { '|' });
                foreach (GridViewRow row in oGV.Rows)
                {
                    CheckBox cb = (CheckBox)row.FindControl("chkCrudOperation");
                   // CheckBox cb = (CheckBox)row.FindControl("ChkHeader");
                    
                    string ID = string.Empty;
                    if (cb.Checked)
                    {
                        ID = oGV.DataKeys[row.RowIndex].Value.ToString();
                        if (Array.IndexOf(arrIDs, ID) == -1)
                        {
                            this.hdchecksave.Value += ID + "|";
                        }
                    }
                    else
                    {
                        ID = oGV.DataKeys[row.RowIndex].Value.ToString();
                        if (Array.IndexOf(arrIDs, ID) != -1)
                        {
                            this.hdchecksave.Value = this.hdchecksave.Value.Replace(ID + "|", "");
                        }
                    }
                }
    
                oGV.PageIndex = e.NewPageIndex;
                oGV.DataBind(); 
            }
    
    

    aqui procuro a checkbox da grid

    Código:
    CheckBox cb = (CheckBox)row.FindControl("[B][COLOR=Blue]chkCrudOperation[/COLOR][/B]");
    o name

    da mesma checbox em html é

    Código:
    
    WucENBStatsPopCheckBox1_WucDynamicGridView1_gvDynamic_[B][COLOR=Red]ctl05[/COLOR][/B]_[B][COLOR=Blue]chkCrudOperation[/COLOR][/B]
    
    
    

    ou

    Código:
    
    wucENBStatsPopCheckBox1$WucDynamicGridView1$gvDynamic$[B][COLOR=Red]ctl04[/COLOR][/B]$[B][COLOR=Blue]chkCrudOperation[/COLOR][/B]
    
    
    a parte que esta a vermelho varia conforme o numero ce chckbox

    como podem ver estou no findcontrol o mesmo id de nome da check

    mas ele poe a cb sempre a null ou seja não encontra esse id

    gstave de um help
     

Partilhar esta Página