Cuestión : Problema jerarquizado del acontecimiento de Gridviews RowDataBound

Hola, mi problema está con los gridviews jerarquizados. ¡tengo un gridview (nombre “GrdMain”) y otro (nombrado “GridSub”) es adentro de ése campo de la plantilla de los gridview! ¡no puedo alcanzar las variables de GridSub! Intenté alcanzar el acontecimiento de RowDataBound de GridSub pero cuando llamo después de DataBind (); ¡no enciende, cuando llamo befor que enciende con el jefe (no tipo del dataRow)! no sé puedo lo fijo. el

Here es mi código de la muestra. ¡Quiero alcanzar enlace hipertexto para hacer su fuente en negrilla! el

Please no hace caso de los nombres de la rejilla. ¡sobre mí acabo de dar un ejemplo para los nombres! Class= " lineNumbers " >
1 del >

: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: >
                                    
                                        
                                            
                                                
  • '>
  • class= claro " lineNumbers " >
    1 del >


    del class= " de
    protected codeBody del " prettyprint " del class= del id= " codeSnippet686616 " del >
    a.MotherPageID.ToString ()) .ToList ();
    // ** cuando allí fuego con el jefe no tiene gusto de DataRow
                    Grd.DataBind ();
    ¡// cuando allí no enciende! *******
                    Grd.RowDataBound += nuevo GridViewRowEventHandler (Grd_RowDataBound);
                    pnlMy.Visible = verdad;
                    si (== 0 de Grd.Rows.Count)
                    {
                        pnlMy.Visible = falso;
                    }
                    
                    {
                        
                       //sth.
                    }
                  
                }
            }
    //this es rowdatabound del gridsub
    Grd_RowDataBound vacío (remitente del objeto, GridViewRowEventArgs e)
            {
                si (== DataControlRowType.DataRow de e.Row.RowType)
                {
                    Etiquetar el lblB = (etiqueta) e.Row.FindControl (“lblGizli”);
                    Enlace hipertexto hlMy = (enlace hipertexto) e.Row.FindControl (“hlSub”);
                    si (== hfSayfaID.Value de lblB.Text)
                    {
                        hlMy.Font.Bold = verdad;
                    }
                }
            }
    class= >
    " claro " de
    class= del

    Respuesta : Problema jerarquizado del acontecimiento de Gridviews RowDataBound

    Él simple.
    Qué u puede hacer está en la primera opinión de la rejilla crea su acontecimiento del databound de la fila.
    ese u sabe.
    Ahora para el gridview dentro de la opinión principal de la rejilla usted tiene que mecanografiar manualmente el acontecimiento de Rowdatabound del ur para el gridview secundario. y encenderá acontecimiento secundario del onrowdatbound de la opinión de la rejilla del ur y usted puede tener acceso a esas variables dentro del gridview secundario con el mismo acceso de la manera u en la opinión principal de la rejilla.

    Un cierto ejemplo:

                    onrowdatabound= " gdProject_RowDataBound " Width= " 100% " >
               
                   
                       

                           

                           

                             

                           


                   

                   

                   




    EN código detrás:

    Page_Load vacío protegido (remitente del objeto, EventArgs e)
    {
    gdProject.DataBind ();
    }

    gdProject_RowDataBound vacío protegido (remitente del objeto, GridViewRowEventArgs e)
    {
            Gd de GridView = nuevo GridView ();
            lblPID de la etiqueta = nueva etiqueta ();

            gd = (GridView) e.Row.FindControl (“gdTodoList”);
            lblPID = (etiqueta) e.Row.FindControl (“pid”);

    ¡si (gd! = falta de información)
            {
    ......
     gd.DataBind ();
    }
    }


    gdTodoList_RowDataBound vacío protegido (remitente del objeto, GridViewRowEventArgs e)
        {
    lblTID de la etiqueta = nueva etiqueta ();
    lblTID = (etiqueta) e.Row.FindControl (“tid”);
    }
    Otras soluciones  
     
    programming4us programming4us