SftTree/NET can be enabled to allow users of the control to reorder columns by dragging a column and dropping it at the new position in the control (see HeadersClass.Reorderable, FootersClass.Reorderable and ColumnClass.Reorderable). The application can define certain columns that must remain in their current position (see ColumnClass.KeepPosition). Columns that must remain in their current position cannot be moved.
As a user reorders columns, this is completely transparent to the application. An application still references cells and columns by the "real" column number, which is the original column number that the cell or column had before columns were reordered by the user. While columns appear in a new order "visually" after dragging a column to a new position, the application references cells and columns by their real column number which never changes.
A user can drag a column by clicking the left mouse button on a column header or column footer and, without releasing the mouse button, move the cursor to a new location. A vertical bar indicates the location where the column will be inserted. Once the correct position is reached, the user releases the mouse button.
An application receives the ColumnReordered event after the column position has changed.
While column reordering is in progress, the user can abort it by pressing the Escape key.
When using a split tree control, columns can only be reordered within one pane. They cannot be moved from one pane to the other.
The ColumnClass.Position property can be used to reorder columns under program control.