Я хочу отсортировать элемент управления ListView в C # на основе столбцов. Я создал ColumnClickEventHandler:
private void contactsListView_ColumnClick(object sender, ColumnClickEventArgs e)
{
contactsListView.ListViewItemSorter = new ListViewItemComparer(e.Column);
contactsListView.Sort();
}
Где класс ListViewItemComparer выглядит так:
class ListViewItemComparer : IComparer<ListViewItem>
{
private int col;
public ListViewItemComparer()
{
col = 0;
}
public ListViewItemComparer(int column)
{
col = column;
}
public int Compare(ListViewItem x, ListViewItem y)
{
int returnVal = -1;
returnVal = String.Compare(x.SubItems[col].Text, y.SubItems[col].Text);
return returnVal;
}
}
Этот код не будет компилироваться, поскольку contactsListView.ListViewItemSorter имеет тип IComparer, а класс ListViewItemComparer имеет значение IComparer.
Есть ли способ явного приведения одного к другому? Или просто сделать сортировку по-другому?
Заранее спасибо