Questione : Problema annidato di evento di Gridviews RowDataBound

Ciao, il mio problema è con i gridviews annidati. ho un gridview (nome “GrdMain„) ed altro (chiamato “GridSub„) è all'interno di quello campo della mascherina dei gridview! non posso raggiungere le variabili di GridSub! Ho provato a raggiungere l'evento di RowDataBound di GridSub ma quando denomino dopo DataBind (); non inforna, quando denomino il befor che inforna con l'intestazione (non tipo di dataRow)! non so posso lo riparo. il

Here è il mio codice del campione. Voglio raggiungere il HyperLink per rendere la relativa fonte GRASSETTO! il

Please ignora i nomi della griglia. sopra ho fornito appena un esempio per i nomi! 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= libero " lineNumbers " >
    1 del >


    del class= " di
    protected codeBody " del prettyprint " " del class= del id= " codeSnippet686616 del >
    a.MotherPageID.ToString ()) .ToList ();
    // ** quando là fuoco con l'intestazione non gradice DataRow
                    Grd.DataBind ();
    // quando là non inforna! *******
                    Grd.RowDataBound += nuovo GridViewRowEventHandler (Grd_RowDataBound);
                    pnlMy.Visible = allineano;
                    se (== 0 di Grd.Rows.Count)
                    {
                        pnlMy.Visible = falso;
                    }
                    altrimenti
                    {
                        
                       //sth.
                    }
                  
                }
            }
    //this è rowdatabound di gridsub
    Grd_RowDataBound vuoto (mittente dell'oggetto, GridViewRowEventArgs e)
            {
                se (== DataControlRowType.DataRow di e.Row.RowType)
                {
                    Identificare il lblB = (etichetta) e.Row.FindControl (“lblGizli„);
                    HyperLink hlMy = (HyperLink) e.Row.FindControl (“hlSub„);
                    se (== hfSayfaID.Value di lblB.Text)
                    {
                        hlMy.Font.Bold = allineano;
                    }
                }
            }
    class= >
    " libero " di
    class= del

    Risposta : Problema annidato di evento di Gridviews RowDataBound

    Esso semplice.
    Che u può fare è sulla prima vista di griglia genera il relativo evento del databound di fila.
    quella u sa.
    Ora per il gridview all'interno della vista principale di griglia dovete scriv manualmente l'evento a macchina di Rowdatabound del ur per il gridview secondario. ed infornerà l'evento secondario del onrowdatbound di vista di griglia del ur e potete accedere a quelle variabili all'interno di gridview secondario con lo stesso accesso di senso u nella vista matrice di griglia.

    Un certo esempio:

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

                           

                           

                             

                           


                   

                   

                   




    Nel codice dietro:

    Page_Load vuoto protettivo (mittente dell'oggetto, EventArgs e)
    {
    gdProject.DataBind ();
    }

    gdProject_RowDataBound vuoto protettivo (mittente dell'oggetto, GridViewRowEventArgs e)
    {
            Gd di GridView = nuovo GridView ();
            lblPID dell'etichetta = nuova etichetta ();

            gd = (GridView) e.Row.FindControl (“gdTodoList„);
            lblPID = (etichetta) e.Row.FindControl (“pid„);

    se (gd! = posizione di segnale minimo)
            {
    ......
     gd.DataBind ();
    }
    }


    gdTodoList_RowDataBound vuoto protettivo (mittente dell'oggetto, GridViewRowEventArgs e)
        {
    lblTID dell'etichetta = nuova etichetta ();
    lblTID = (etichetta) e.Row.FindControl (“tid„);
    }
    Altre soluzioni  
     
    programming4us programming4us