/// <summary> /// Sorts the ListView by the specified column. /// </summary> /// <param name="column"></param> protected void Sort(int column) { // Toggle ASC and DESC if (column == lastsortcolumn) { if (sortorder == Yaowi.Common.Collections.SortOrder.Ascending) { sortorder = Yaowi.Common.Collections.SortOrder.Descending; } else { sortorder = Yaowi.Common.Collections.SortOrder.Ascending; } } else { sortorder = Yaowi.Common.Collections.SortOrder.Ascending; } lastsortcolumn = column; // Get the columns comparer (if the column ist registered use the StringComparer by default) ISortComparer c = null; if (comparercollection.ContainsKey(this.ListView.Columns[column].Text)) { c = comparercollection[this.ListView.Columns[column].Text]; } else { c = new Yaowi.Common.Collections.StringComparer(); } // Initialize the ListViewItemComparer ListViewItemComparer lvc = new ListViewItemComparer(column, c); lvc.SortOrder = sortorder; this.ListView.ListViewItemSorter = lvc; // Sort! this.ListView.Sort(); // Set ColumnHeaders image SetImage(column, sortorder); }
/// <summary> /// Sorts the ListView by the specified column. /// </summary> /// <param name="column"></param> protected void Sort(int column) { // Toggle ASC and DESC if (column == lastsortcolumn) { if (sortorder == Yaowi.Common.Collections.SortOrder.Ascending) sortorder = Yaowi.Common.Collections.SortOrder.Descending; else sortorder = Yaowi.Common.Collections.SortOrder.Ascending; } else { sortorder = Yaowi.Common.Collections.SortOrder.Ascending; } lastsortcolumn = column; // Get the columns comparer (if the column ist registered use the StringComparer by default) ISortComparer c = null; if (comparercollection.ContainsKey(this.ListView.Columns[column].Text)) c = comparercollection[this.ListView.Columns[column].Text]; else c = new Yaowi.Common.Collections.StringComparer(); // Initialize the ListViewItemComparer ListViewItemComparer lvc = new ListViewItemComparer(column, c); lvc.SortOrder = sortorder; this.ListView.ListViewItemSorter = lvc; // Sort! this.ListView.Sort(); // Set ColumnHeaders image SetImage(column, sortorder); }