ppsGrid Class Library
ExpandStart Event
NamespacesppsGridGridExpandStart
ppsGrid (c] 2004-2007 by Torsten Oberprieler
Tritt ein, bevor mehrere Strukturknoten expandiert werden.
Declaration Syntax
C#Visual BasicVisual C++
public event OnExpandStart ExpandStart
Public Event ExpandStart As OnExpandStart
public:
 event OnExpandStart^ ExpandStart {
	void add (OnExpandStart^ value);
	void remove (OnExpandStart^ value);
}
Remarks
Dieses Ereignis tritt immer ein, wenn sich mehrere Strukturknoten vom geschlossenen zum geöffneten Zustand ändern. Der Parameter ExpandEndEventArgs enthält eine Membervariable Cancel, welche, wenn sie auf true gesetzt wird, das Öffnen 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#
OnExpandStart evt;                                      // Event
Random         rnd=new Random();                         // Zufallszahlengenerator
int            y = 1;

evt=new OnExpandStart(grid_ExpandStart);               // Event instanz
grid.ExpandStart += 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_ExpandStart(object sender, ExpandStartEventArgs 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("--> Öffnen Abbruch");             // ..Info ausgeben
  }
  else                                                   // ..untergeordnete..
    Console.WriteLine("--> Öffnen ok");                  // ....Knoten ok
}

Assembly: ppsGrid (Module: ppsGrid) Version: 1.3.4.0