using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; namespace xmltv_parser { public class ListViewSorter : System.Collections.IComparer { public ListViewSorter() { } public int Compare(object o1, object o2) { if (!(o1 is ListViewItem)) return (0); if (!(o2 is ListViewItem)) return (0); ListViewItem lvi1 = (ListViewItem)o2; string str1 = lvi1.SubItems[CurrentColumn].Text; ListViewItem lvi2 = (ListViewItem)o1; string str2 = lvi2.SubItems[CurrentColumn].Text; int result; if (lvi1.ListView.Sorting == SortOrder.Ascending) result = String.Compare(str1, str2); else result = String.Compare(str2, str1); LastColumn = CurrentColumn; return (result); } int _LastColumn; public int LastColumn { get { return _LastColumn; } set { _LastColumn = value; } } int _CurrentColumn = 0; public int CurrentColumn { get { return _CurrentColumn; } set { _CurrentColumn = value; } } } }