Frage : Genistetes Gridviews RowDataBound Ereignis-Problem

Hallo, ist mein Problem mit genisteten gridviews. ich habe ein gridview (Namen „GrdMain“) und ein anderes (genannt „GridSub“) ist nach innen von dem Schablonenfeld der gridviews! ich kann die Variablen von GridSub nicht erreichen! Ich versuchte, RowDataBound Ereignis von GridSub zu erreichen aber, wenn ich nach DataBind benenne (); es feuert nicht ab, wenn ich befor benenne, das es mit Überschrift abfeuert (nicht Art von dataRow)! ich kann nicht, ich regele es. kann.

Here ist mein Beispielcode. Ich möchte Hyperlink erreichen, um seinen Guss fett zu bilden!

Please ignorieren die Namen des Rasterfeldes. über nannte mir gerade ein Beispiel für die Namen! PLS HELP

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:
    6:
    37:
    38:
    39:
    40:
    41:
    42:
    43:
    44:
    45:
    46:
    
    protected leeres gridMain_RowDataBound (Gegenstandabsender, GridViewRowEventArgs e)
            {
                wenn (e.Row.RowType == DataControlRowType.DataRow)
                {
                    GridView Grd = (GridView) e.Row.FindControl („gridSub“);
                    Aufkleber lblB = (Aufkleber) e.Row.FindControl („lblGizli“);
                    Hyperlink hlMy = (Hyperlink) e.Row.FindControl („hlSub“);
                    wenn (lblB.Text==hfSayfaID.Value)
                    {
                        hlMy.CssClass = „vorgewählt“;
                        hlMy.Font.Bold = richten aus;
                    }
    
    
                   
                    Grd.DataSource = myDB.Pages.Where (a=>a.MotherPageID.ToString () == lblB.Text) .ToList ();
    // ** wenn dort es Feuer mit Überschrift nicht DataRow mag
                    Grd.DataBind ();
    //, wenn dort es nicht abfeuert! *******
                    Grd.RowDataBound += neues GridViewRowEventHandler (Grd_RowDataBound);
                    pnlMy.Visible = richten aus;
                    wenn (Grd.Rows.Count == 0)
                    {
                        pnlMy.Visible = falsch;
                    }
                    sonst
                    {
                        
                       //sth.
                    }
                  
                }
            }
    //this ist rowdatabound von gridsub
    leeres Grd_RowDataBound (Gegenstandabsender, GridViewRowEventArgs e)
            {
                wenn (e.Row.RowType == DataControlRowType.DataRow)
                {
                    lblB beschriften = (Aufkleber) e.Row.FindControl („lblGizli“);
                    Hyperlink hlMy = (Hyperlink) e.Row.FindControl („hlSub“);
                    wenn (lblB.Text == hfSayfaID.Value)
                    {
                        hlMy.Font.Bold = richten aus;
                    }
                }
            }
    

    Antwort : Genistetes Gridviews RowDataBound Ereignis-Problem

    Es einfach.
    Welches u tun kann, ist auf der ersten Rasterfeldansicht verursachen sein Reihe databound Ereignis.
    dieses u wissen.
    Jetzt für das gridview innerhalb der Hauptrasterfeldansicht müssen Sie ur Rowdatabound Ereignis für das Vorgridview manuell schreiben. und es feuert ur Vorrasterfeldansicht onrowdatbound Ereignis ab und Sie können auf jene Variablen innerhalb des Vorgridview mit dem gleichen Zugang der Weise u in der Vorlagenrasterfeldansicht zurückgreifen.

    Irgendein Beispiel:

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

                           

                           

                             

                           


                   

                   

                   




    Im Code nach:

    geschütztes leeres Page_Load (Gegenstandabsender, EventArgs e)
    {
    gdProject.DataBind ();
    }

    geschütztes leeres gdProject_RowDataBound (Gegenstandabsender, GridViewRowEventArgs e)
    {
            GridView gd = neues GridView ();
            Aufkleber lblPID = neuer Aufkleber ();

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

    wenn (gd! = Null)
            {
    ......
     gd.DataBind ();
    }
    }


    geschütztes leeres gdTodoList_RowDataBound (Gegenstandabsender, GridViewRowEventArgs e)
        {
    Aufkleber lblTID = neuer Aufkleber ();
    lblTID = (Aufkleber) e.Row.FindControl („tid“);
    }
    Weitere Lösungen  
     
    programming4us programming4us