public void Sort(int column, SortOrder sortOrder, bool stable)
{
// don't allow sorting if we're being used as a
// preview table in a ColumnModel editor
if (this.Preview)
{
return;
}
// make sure the column exists
if (this.IsValidColumn(column))
{
// don't bother if the column won't let us sort
if (!this.ColumnModel.Columns[column].Sortable)
{
return;
}
// if we already have a different sorted column, set
// its sort order to none
if (column != this.lastSortedColumn)
{
if (this.IsValidColumn(this.lastSortedColumn))
{
this.ColumnModel.Columns[this.lastSortedColumn].InternalSortOrder = SortOrder.None;
}
}
this.lastSortedColumn = column;
this.Sort(column, this.ColumnModel.Columns[column], sortOrder, stable);
}
}