SftTree/OCX 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. The application can define certain columns that must remain in their current position (see Header.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 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 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 ColumnsReordered event after the column positions have been changed.
While a column drag & drop 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.