Возникла проблема буду благодарен за помощь.
в сети наткнулся на решение для сортировки ListView попробовал все работает...
класс:
public class ItemComparer : IComparer
{
private int columnIndex;
private bool sortAscending = true;
public int ColumnIndex
{
set
{
//предыдущий клик был на этой же колонке?
if (columnIndex == value)
//да - меняем направление сортировки
sortAscending = !sortAscending;
else
{
columnIndex = value;
sortAscending = true;
}
}
}
public int Compare(object x, object y)
{
...
}
}
Вызов:
public FormMain()
{
...
listView.ListViewItemSorter = ic;
...
}
private void listView_ColumnClick(object sender, ColumnClickEventArgs e)
{
ic.ColumnIndex = e.Column;
((ListView) sender).Sort();
...
}
Но позже выяснилось, что на других компьютерах e.Column возвращает номерколонки + 1.
Кто знает от чего это и как с этим бороться?
Правильно работает на Windows 7 и Vista в других системах, как правило — нет.
Везде стоит NF 3.5
12.11.09 02:42: Перенесено модератором из '.NET' — AndrewVK