EPIDEMIASH
@EPIDEMIASH
Человек швейцарский нож

Возможно ли написать сортировку по SmallImageList?

Есть ListView в котором подгружаются пользователи.

60b09b5283120752290939.jpeg

Для ListView был создан SmallImageList, который работает по условию: если УЗ активна то зеленая иконка, если неактивна то красная. Хотелось бы сделать сортировку этих элементов, чтобы активные УЗ шли первыми. По логинам или ФИО сделать этого не получится, потому что единственная привязка есть только у иконок.

Подскажите, есть какие то идеи?

UP! У меня только была идея добавить еще один столбец в 0px, с выводом какого то значения для сортировки.
  • Вопрос задан
  • 40 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Так сортируйте при заполнении. Где то у вас есть коллекция данных вот для неё и делайте linq запрос .OrderBy(x=>x.IcoField)
Ответ написан
EPIDEMIASH
@EPIDEMIASH Автор вопроса
Человек швейцарский нож
Если будет интересно кому с моим вариантом:
- Создал еще одну колонку
- Дописал условие для подстановки в нее
- Дописал класс
class ListViewColumnComparer : IComparer
{
    public int ColumnIndex { get; set; }

    public ListViewColumnComparer(int columnIndex)
    {
        ColumnIndex = columnIndex;
    }

    public int Compare(object x, object y)
    {
        try
        {
            return String.Compare(
            ((ListViewItem)x).SubItems[ColumnIndex].Text,
            ((ListViewItem)y).SubItems[ColumnIndex].Text);
        }
        catch (Exception) // если вдруг столбец пустой (или что-то пошло не так)
        {
            return 0;
        }            
    }
}


- И в при подгрузке прописал
this.listView1.ListViewItemSorter = new ListViewColumnComparer(3);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы