1 |
using System; |
2 |
using System.Collections.Generic; |
3 |
using System.Linq; |
4 |
using System.Text; |
5 |
using System.Windows.Forms; |
6 |
|
7 |
namespace xmltv_parser |
8 |
{ |
9 |
public class ListViewSorter : System.Collections.IComparer |
10 |
{ |
11 |
public int Compare(object o1, object o2) |
12 |
{ |
13 |
if (!(o1 is ListViewItem)) |
14 |
return (0); |
15 |
if (!(o2 is ListViewItem)) |
16 |
return (0); |
17 |
|
18 |
ListViewItem lvi1 = (ListViewItem)o2; |
19 |
string str1 = lvi1.SubItems[ByColumn].Text; |
20 |
ListViewItem lvi2 = (ListViewItem)o1; |
21 |
string str2 = lvi2.SubItems[ByColumn].Text; |
22 |
|
23 |
int result; |
24 |
if (lvi1.ListView.Sorting == SortOrder.Ascending) |
25 |
result = String.Compare(str1, str2); |
26 |
else |
27 |
result = String.Compare(str2, str1); |
28 |
|
29 |
LastSort = ByColumn; |
30 |
|
31 |
return (result); |
32 |
} |
33 |
|
34 |
|
35 |
public int ByColumn |
36 |
{ |
37 |
get { return Column; } |
38 |
set { Column = value; } |
39 |
} |
40 |
int Column = 0; |
41 |
|
42 |
public int LastSort |
43 |
{ |
44 |
get { return LastColumn; } |
45 |
set { LastColumn = value; } |
46 |
} |
47 |
int LastColumn = 0; |
48 |
} |
49 |
} |