Tritt ein, bevor mehrere Strukturknoten expandiert werden.

C# | Visual Basic | Visual C++ |
public event OnExpandStart ExpandStart
Public Event ExpandStart As OnExpandStart
public: event OnExpandStart^ ExpandStart { void add (OnExpandStart^ value); void remove (OnExpandStart^ value); }

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.
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.


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 }