2009-04-06 11 views
3

Kann mir jemand sagen, was in diesem Abschnitt passiert? Warum macht es Gegenstände unsichtbar?Rad Grid Prerender-Ereignis Ausgabe

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; 
       } 
      } 
     } 
    } 

hier ist rgStateTax rad Gitter und PreRender ist das Ereignis, bevor die Seite tatsächlich auf dem Bildschirm angezeigt wird, nicht wahr?

Antwort

0

Ja, PreRender wird aufgerufen, bevor das Steuerelement für die Seite gerendert wird.

Dieser Codeschnipsel durchläuft einfach fast alle Elemente im Raster und macht sie unsichtbar.

if(rgStateTax.MasterTableView.IsItemInserted) Dies prüft, ob ein Element in das Raster eingefügt wurde.

foreach(GridItem item in rgStateTax.Items) Diese Schleife durchläuft alle Elemente im Radgrid.

item.Visible = false; Dadurch wird jedes Element für unsichtbar festgelegt.

Wie für den nächsten Teil:

if(rgStateTax.EditItems.Count > 0) Diese prüft, ob es irgendwelche Rasterelemente im Bearbeitungsmodus befindet.

foreach(GridDataItem item in rgStateTax.Items) Dadurch wird jedes Element im radgrid durchlaufen (unabhängig davon, ob sich jedes Element im Bearbeitungsmodus befindet oder nicht).

if(item != rgStateTax.EditItems[0]) Diese überprüft, ob der aktuelle Eintrag im Bearbeitungsmodus nicht das erste Element ist (so geben wir dies für alle bis auf einen Punkt.

item.Visible = false; Dieser jedes Element setzt, unsichtbar zu sein.

Und das ist, was geschieht.

0

Sie wollten wahrscheinlich

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