ppsGrid Class Library
BeforeCollapse Event
NamespacesppsGridGridBeforeCollapse
ppsGrid (c] 2004-2007 by Torsten Oberprieler
Tritt ein, bevor der Strukturknoten reduziert wird.
Declaration Syntax
C#Visual BasicVisual C++
public event OnBeforeCollapse BeforeCollapse
Public Event BeforeCollapse As OnBeforeCollapse
public:
 event OnBeforeCollapse^ BeforeCollapse {
	void add (OnBeforeCollapse^ value);
	void remove (OnBeforeCollapse^ value);
}
Remarks
Dieses Ereignis tritt immer ein, wenn sich die Strukturknoten vom geöffneten zum geschlossenen Zustand ändert. Der Parameter BeforeCollapseEventArgs enthält eine Membervariable Cancel, welche, wenn sie auf true gesetzt wird, das Schließen der Strukturknoten verhindert.

Das Öffnen und Schließen eines Strukturknotens kann auch mittels Tastatur bedient werden. Verwenden Sie die Tastenkombination ALT und die Cursortaste nach rechts zum Öffnen bzw. die Cursortaste nach links zum Schließen des Strukturknotens. Wenn Sie zusätzlich die Umschalttaste gedrückt halten, werden alle untergeordneten Strukturknoten geöffnet bzw. geschlossen. Das gilt auch, wenn Sie bei gedrückter Umschalttaste mit der linken Maustaste den Strukturknoten öffnen oder schließen.
Examples
CopyC#
OnBeforeCollapse evt;                                      // Event
Random           rnd=new Random();                         // Zufallszahlengenerator
int              y = 1;

evt=new OnBeforeCollapse(grid_BeforeCollapse);           // Event instanz
grid.BeforeCollapse += evt;                              // ..für's Grid

grid.AddCols(1);                                         // eine Zeile
grid.Cols[0].Width = 200;                                // Spaltenbreite
grid.AddRows(10);                                        // starten mit 10 Zeilen
grid.Rows[0].Fixed = true;                               // Spaltenkopf
grid.Cols[0].Outline = true;                             // Strukturelemente (+/-) anzeigen

while(y<grid.Rows.Count){                                // bis zur letzten Zeile
  GridRow row = grid.Rows[y];                            // ..Zeile..
  if(rnd.Next(12) > 4+row.Outline.Level)                 // ..per Zufall: ...
    row.Outline.AddChilds(rnd.Next(4)+1);                // ....neue "Childs" anhängen
  row[0].Value = "Zeile "+row.Row;                       // ..Zeilennummer anzeigen
  y++;                                                   // ..nächste Zeile
}

private void grid_BeforeCollapse(object sender, BeforeCollapseEventArgs e) {
  Console.Write("Zeile="+e.Row+", Spalte="+e.Column);    // Zeile/Spalte ausgeben
  if(e.Row%4==0){                                        // jede vierte Zeile
    e.Cancel = true;                                     // ..abbrechen
    Console.WriteLine("--> Schließen Abbruch");          // ..Info ausgeben
  }
  else                                                   // ..untergeordnete..
    Console.WriteLine("--> Schließen ok");               // ....Knoten ok
}

Assembly: ppsGrid (Module: ppsGrid) Version: 1.3.4.0