2009-04-06 11 views
3

Quelqu'un peut-il me dire ce qui se passe dans cette section? Pourquoi rend-il les objets invisibles?Événement Rad Prerender Numéro

protected void rgStateTax_PreRender(object sender, EventArgs e) 
    { 
     if(rgStateTax.MasterTableView.IsItemInserted) 
     { 
      foreach(GridItem item in rgStateTax.Items) 
      { 
       item.Visible = false; 
      } 
     } 

     if(rgStateTax.EditItems.Count > 0) 
     { 
      foreach(GridDataItem item in rgStateTax.Items) 
      { 
       if(item != rgStateTax.EditItems[0]) 
       { 
        item.Visible = false; 
       } 
      } 
     } 
    } 

ici rgStateTax est grille rad et PreRender est l'événement avant que la page est réellement affichée à l'écran, à droite?

Répondre

0

Oui, PreRender est appelé avant le rendu du contrôle pour la page.

Cet extrait de code est simplement en boucle sur presque tous les éléments de la grille et le rend invisible.

if(rgStateTax.MasterTableView.IsItemInserted) Ceci vérifie si un article a été inséré dans la grille.

foreach(GridItem item in rgStateTax.Items) Ceci fait une boucle sur chaque élément du radgrid.

item.Visible = false; Ceci définit chaque élément comme étant invisible.

Quant à la partie suivante:

if(rgStateTax.EditItems.Count > 0) Cela permet de vérifier s'il y a des éléments de la grille en mode édition.

foreach(GridDataItem item in rgStateTax.Items) Ceci fait une boucle sur chaque élément du radgrid (peu importe si chaque élément est en mode édition ou non).

if(item != rgStateTax.EditItems[0]) Cela permet de vérifier si l'élément en cours est pas le premier élément en mode édition (nous allons donc cela pour tous sauf un article.

item.Visible = false; Ceci définit chaque élément à être invisible.

Et c'est ce qui est qui se passe.

0

Vous avez probablement voulu

if(!item.Edit){item.Visible = false;}