Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Сортировка ListView


Автор: ДобренькийПапаша 28.9.2009, 16:05
Мне нужно сделать так, чтобы сортировку можно было вызывать программно, и только тогда, когда Я её вызываю.

Если определить ListViewItemComarer типа:

Код

class ListViewItemComparer : IComparer
    {
        private int col;
        public ListViewItemComparer()
        {
            col = 0;
        }
        public ListViewItemComparer(int column)
        {
            col = column;
        }
        public int Compare(object x, object y)
        {
            int returnVal = -1;
            returnVal = String.Compare(((ListViewItem)x).SubItems[col].Text,
            ((ListViewItem)y).SubItems[col].Text);
            return returnVal;
        }
    }


То при, скажем, ListView.Items.Add("Что-нибудь"), сразу же происходит сортировка. 
Мне нужно запретить это. И вызывать сортировку только тогда, когда я захочу.

Автор: Bogdan1024 29.9.2009, 10:27
А если подключить сортировщик когда нужно отсортировать, а потом отключить его, то листвью будет оставаться отсортированным?

Автор: ДобренькийПапаша 29.9.2009, 12:26
А как отключить? Вызвать Dispose() ?

Автор: mr.DUDA 29.9.2009, 13:23
Цитата(ДобренькийПапаша @  29.9.2009,  12:26 Найти цитируемый пост)
А как отключить? Вызвать Dispose() ?

Присвоить null в свойство ListViewItemSorter листвью.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)