Vraag : Het genestelde Probleem van de Gebeurtenis van Gridviews RowDataBound

Hello, is mijn probleem met genesteld gridviews. ik heb één gridview (naam „GrdMain“) en een andere één (genoemd „GridSub“) is binnen van dat gridview malplaatjegebied! ik kan niet de variabelen van GridSub bereiken! Ik probeerde om gebeurtenis RowDataBound van GridSub te bereiken maar wanneer ik na DataBind roep (); het steekt niet in brand, wanneer ik befor roep het met kopbal (niet type van dataRow) in brand steekt! ik weet hoe niet ik het kan bevestigen.

Here is mijn steekproefcode. Ik wil Hyperlink bereiken om zijn doopvontvette letters te maken! />Please


1:
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:

                                    
                                        
                                            
                                                


  • 1:
    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:
    32:
    33:
    34:
    35:
    36:
    37:
    38:
    39:
    40:
    41:
    42:
    43:
    44:
    45:
    46:
    
    protected nietige gridMain_RowDataBound (objecten afzender, GridViewRowEventArgs e)
            {
                als (e.Row.RowType == DataControlRowType.DataRow)
                {
                    GridView Grd = (GridView) e.Row.FindControl („gridSub“);
                    Etiket lblB = (Etiket) e.Row.FindControl („lblGizli“);
                    hlMy hyperlink = (Hyperlink) e.Row.FindControl („hlSub“);
                    als (lblB.Text==hfSayfaID.Value)
                    {
                        hlMy.CssClass = „geselecteerd“;
                        hlMy.Font.Bold = waar;
                    }
    
    
                   
                    Grd.DataSource = (a=>a.MotherPageID.ToString () == lblB.Text) .ToList myDB.Pages.Where ();
    // ** wanneer daar het brand met kopbal zoals geen DataRow
                    Grd.DataBind ();
    // wanneer daar het niet in brand steekt! *******
                    Grd.RowDataBound += nieuwe GridViewRowEventHandler (Grd_RowDataBound);
                    pnlMy.Visible = waar;
                    als (Grd.Rows.Count == 0)
                    {
                        pnlMy.Visible = vals;
                    }
                    anders
                    {
                        
                       //sth.
                    }
                  
                }
            }
    //this is rowdatabound van gridsub
    nietige Grd_RowDataBound (objecten afzender, GridViewRowEventArgs e)
            {
                als (e.Row.RowType == DataControlRowType.DataRow)
                {
                    Etiket lblB = (Etiket) e.Row.FindControl („lblGizli“);
                    hlMy hyperlink = (Hyperlink) e.Row.FindControl („hlSub“);
                    als (lblB.Text == hfSayfaID.Value)
                    {
                        hlMy.Font.Bold = waar;
                    }
                }
            }
    

    Antwoord : Het genestelde Probleem van de Gebeurtenis van Gridviews RowDataBound

    Eenvoudig het.
    Welk u kan doen zijn op de eerste netmening creëren zijn rij databound gebeurtenis.
    dat u weet het.
    Nu voor gridview binnen belangrijkst netstandpunt moet u ur gebeurtenis Rowdatabound voor subgridview manueel typen. en het zal ur de subgebeurtenis in brand steken van de netmening onrowdatbound en u kunt tot die variabelen binnen subgridview met de zelfde toegang van manieru in hoofdnetmening toegang hebben.

    Één of ander voorbeeld:

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

                           

                           

                             

                           


                   

                   

                   




    IN code achter:

    beschermde nietige Page_Load (objecten afzender, EventArgs e)
    {
    gdProject.DataBind ();
    }

    beschermde nietige gdProject_RowDataBound (objecten afzender, GridViewRowEventArgs e)
    {
            GridView GD = nieuwe GridView ();
            Etiket lblPID = nieuw Etiket ();

            GD = (GridView) e.Row.FindControl („gdTodoList“);
            lblPID = (Etiket) e.Row.FindControl („pid“);

    als (GD! = verklaar) nietig
            {
    ......
     gd.DataBind ();
    }
    }


    beschermde nietige gdTodoList_RowDataBound (objecten afzender, GridViewRowEventArgs e)
        {
    Etiket lblTID = nieuw Etiket ();
    lblTID = (Etiket) e.Row.FindControl („tid“);
    }
    Andere oplossingen  
     
    programming4us programming4us