ppsGrid Class Library
BeforeExpand Event
NamespacesppsGridGridBeforeExpand
ppsGrid (c] 2004-2007 by Torsten Oberprieler
Tritt ein, bevor der Strukturknoten expandiert wird.
Declaration Syntax
C#Visual BasicVisual C++
public event OnBeforeExpand BeforeExpand
Public Event BeforeExpand As OnBeforeExpand
public:
 event OnBeforeExpand^ BeforeExpand {
	void add (OnBeforeExpand^ value);
	void remove (OnBeforeExpand^ value);
}
Remarks
Dieses Ereignis tritt immer ein, wenn sich die Strukturknoten vom geschlossenen zum geöffneten Zustand ändert. Der Parameter BeforeExpandEventArgs enthält eine Membervariable Cancel, welche, wenn sie auf true gesetzt wird, das Öffnen der Strukturknoten verhindert. Programme, die nur beim ersten Öffnen des Strukturknotens Daten generieren oder einlesen müssen, können die Flag-Variable FirstTime als Information nutzen.

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#
OnBeforeExpand evt;                                      // Event
Random         rnd=new Random();                         // Zufallszahlengenerator
int            y = 1;

evt=new OnBeforeExpand(grid_BeforeExpand);               // Event instanz
grid.BeforeExpand += 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_BeforeExpand(object sender, BeforeExpandEventArgs e) {
  Console.Write("Zeile="+e.Row+", Spalte="+e.Column);    // Zeile/Spalte ausgeben
  if(e.FirstTime)                                        // erste Mal geöffnet
    Console.Write("  zum 1.Mal");                        // ..Info ausgeben
  if(e.Row%4==0){                                        // jede vierte Zeile
    e.Cancel = true;                                     // ..abbrechen
    Console.WriteLine("--> Öffnen Abbruch");             // ..Info ausgeben
  }
  else                                                   // ..untergeordnete..
    Console.WriteLine("--> Öffnen ok");                  // ....Knoten ok
}

Assembly: ppsGrid (Module: ppsGrid) Version: 1.3.4.0