2010-01-22 5 views
1

Je renouvelle les paramètres de mon DataSource pour GridView sur l'événement Button et charges Page_Load() et après (ou avec elle) GridView se renouvelle .ASP.NET [Besoin d'un événement après chargement de la page (après GridView renouveler les données)]

Je dois renommer les lignes d'en-tête mais il n'y a pas d'événement après le chargement de la page.

plus d'informations sur les détails ici:

[On Button Click] I change DataSource and Bind it (SqlDataSource1.DataBind();) Then sure Page gone to Refresh elements. 

[On Page_Load] GridView est en train de changer les données, mais si je ne peux pas changer là-têtes, car il est à la recherche comme des charges après cette fonction :(

[plus d'un bouton] Je peux ajouter le nouveau bouton avec une fonction - renommer les en-têtes et il fonctionne correctement chaque fois que

protected void Button2_Click(object sender, EventArgs e) 
{ 
    // Stack overflow 
    DataRow T; 
    if (go) 
     if (GridView2.HeaderRow.Cells.Count != 0) 
      for (int i = 0; i < SQF.SQF.Permission.Rows.Count; i++) 
      { 
       T = SQF.SQF.Permission.Rows[i]; 
       GridView2.HeaderRow.Cells[i].Text = (string)T["Caption1"]; 
       WebMsgBox.Show((string)T["Caption1"]); 
      } 
} 

Problème: Je pas besoin d'un plus de bouton pour cela, je dois renommer les lignes d'en-tête après avoir cliqué sur le bouton pour changer les données mais je n'ai aucune idée d'où je peux le faire.

merci.

Répondre

4

Eh bien, vous pouvez utiliser l'événement Gridview DataBound, comme ça:

<asp:GridView runat="server" ID="SomeID" OnDataBound="GridVIew_OnDataBound" ... /> 

L'événement se produit DataBound juste après le processus de liaison de données pour ce contrôle particulier a terminé.

+0

OUI! C'est tout :) merci. – Cynede

2

Après Page_Load, il existe un événement Page.PreRender. Peut-être que cela vous conviendra.

EDIT. Tous les événements de vos composants, tels que GridView, sont déclenchés entre Page.Load et Page.PreRender. Envisagez d'utiliser les événements RowDataBound et RowUpdated.

+0

Erreur ici: if (! GridView2.HeaderRow.Cells.Count = 0) semble qu'il n'y a rien dans la grille encore :( – Cynede

+0

réponse sur EDIT, mais si « Tous les événements de vos composants, tels que GridView, sont tirés entre Page.Load et Page.PreRender "Pourquoi je reçois erreur alors et OnDataBound n'a pas eu d'erreur ?? – Cynede

Questions connexes