Tritt ein, bevor die Zeilen sortiert werden.

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

Dieses Ereignis tritt immer ein, wenn der Benutzer die Zeilen
neu sortiert. Der Parameter
BeforeColumnSortEventArgs enthält eine
Membervariable Cancel, welche, wenn sie
auf true gesetzt wird, das Sortieren der Zeilen
verhindert.


Random rnd=new Random(); OnBeforeColumnSort evt; // Event evt=new OnBeforeColumnSort(grid_BeforeColumnSort); // Event instanz grid.BeforeColumnSort += evt; // ..für's Grid grid.FixedColType |=eFixedColType.Sortable; // sortieren erlaubt grid.AddCols(10); // 10 Spalten grid.AddRows(10); // ...10 Zeilen grid.Rows[0].Fixed = true; // Spaltenkopf grid.Cols[0].Fixed = true; // Zeilenkopf for(int c=grid.FixedColCount; c<grid.Cols.Count; c++) // alle Spalten for(int r=grid.FixedRowCount; r<grid.Rows.Count; r++) // alle Zeilen grid[c,r].Value=rnd.Next(10000); // Zellenwert private void grid_BeforeColumnSort(object sender, BeforeColumnSortEventArgs e) { Console.Write("Spalte="+e.Column); // Welche Spalte ? if(e.Direction==eSortDirection.Ascending) // Sortierrichtung Console.Write(" abwärts"); // ..a-z else Console.Write(" aufwärts"); // ..z-a if(e.Column%4==0){ // jede vierte.. Console.WriteLine("--> sortieren: Abbruch"); // .. Spalte.. e.Cancel = true; // ..abbrechen } else // ansonsten.. Console.WriteLine("--> sortieren: ok"); // ..ok }