ListView - как отсортировать не все строки?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

ListView - как отсортировать не все строки?

Сообщение djalex777 » 09.06.2009 (Вт) 15:31

Встала такая проблема. Использую самописный контрол ListView на API.
Сортирую так:
Код: Выделить всё
...
SendMessageLong m_hWnd, LVM_SORTITEMS, m_hWnd, AddressOf LVWSortCompare
...

LVWSortCompare - функция сортировки. Данным способом сортируются все строки ListView. Хотелось бы сделать, чтобы сортировались все, кроме последней. В моём случае последняя строка содержит итог.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ListView - как отсортировать не все строки?

Сообщение Хакер » 09.06.2009 (Вт) 16:19

Ты понимаешь роль функции LVWSortCompare процессе сортировки? Что она делает и на что влияет?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ListView - как отсортировать не все строки?

Сообщение alibek » 09.06.2009 (Вт) 16:36

Ну и укажи в своей процедуре сортировки, что у последней строки критерий сортировки всегда больше любого другого.
Lasciate ogni speranza, voi ch'entrate.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: ListView - как отсортировать не все строки?

Сообщение Saturn.65 » 18.06.2009 (Чт) 15:29

Скажите, а можно менять свойство отдельных строк в ListView? Например цвет? Что-то ничего не нашел. Подозреваю, что можно менять только полностью все строки, а не выборочно.
Главное, ребята, сердцем не стареть...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: ListView - как отсортировать не все строки?

Сообщение alibek » 18.06.2009 (Чт) 15:31

Смотря какая версия контрола используется.
Lasciate ogni speranza, voi ch'entrate.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: ListView - как отсортировать не все строки?

Сообщение Saturn.65 » 18.06.2009 (Чт) 16:07

alibek писал(а):Смотря какая версия контрола используется.

5.0 (SP2). Под стиль XP
Главное, ребята, сердцем не стареть...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ListView - как отсортировать не все строки?

Сообщение Хакер » 18.06.2009 (Чт) 16:36

LV позволяет тебе контролировать процесс отрисовки.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: ListView - как отсортировать не все строки?

Сообщение Saturn.65 » 18.06.2009 (Чт) 17:52

Еще хотел спросить по ходу, как правильней сделать? Например в ListView выводится зарплата сотрудников. С этим все понятно, а как в конце сделать "Всего:"?
Можно конечно нижней строчкой сделать, только опять название шапки не будет совпадать, ибо там идет ФИО. Не выводить же ниже ListView на форму label.Caption = "Всего:" Как то это не по человечески будет смотреться.
Главное, ребята, сердцем не стареть...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ListView - как отсортировать не все строки?

Сообщение Хакер » 18.06.2009 (Чт) 17:55

Зависит, вообще, от ситуации, но почему бы не сделать Label с надписью «Всего» и Lock-поле со значением (чтобы можно было копировать число)?

Можно ещё подумать о группах, которых нет с comctl32 до XP.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Saturn.65
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 543
Зарегистрирован: 13.10.2006 (Пт) 18:46

Re: ListView - как отсортировать не все строки?

Сообщение Saturn.65 » 18.06.2009 (Чт) 18:10

Хакер писал(а):Зависит, вообще, от ситуации, но почему бы не сделать Label с надписью «Всего» и Lock-поле со значением (чтобы можно было копировать число)?

Так то да, но вот если надо выводить не только слово "Всего:", но и еще "Количество человек" или еще "Пол". Это придется три Label делать, а это вообще не серьезно будет. Вот почему и спрашиваю. В принципе можно название шапки поменять при выводе "Всего:", но хотелось бы, чтоб и весь список для наглядности оставался. Тогда, как я понял, это дело вкуса?
Главное, ребята, сердцем не стареть...

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: ListView - как отсортировать не все строки?

Сообщение Хакер » 18.06.2009 (Чт) 18:14

Saturn.65 писал(а):но вот если надо выводить не только слово "Всего:", но и еще "Количество человек" или еще "Пол". Это придется три Label делать, а это вообще не серьезно будет. Вот почему и спрашиваю. В принципе можно название шапки поменять при выводе "Всего:", но хотелось бы, чтоб и весь список для наглядности оставался.

Я же сказал, зависит от ситуации. И я не понимаю, что должна содержать ячейка «Пол» если в гриде одна женщина и один мужчина.

Хочу скриншот основного грида.

Saturn.65 писал(а):Тогда, как я понял, это дело вкуса?

Нет, это очень серьёзное дело дизайна.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

dcdlab
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 04.06.2009 (Чт) 2:14

Re: ListView - как отсортировать не все строки?

Сообщение dcdlab » 23.06.2009 (Вт) 10:56

Так то да, но вот если надо выводить не только слово "Всего:", но и еще "Количество человек" или еще "Пол". Это придется три Label делать, а это вообще не серьезно будет. Вот почему и спрашиваю. В принципе можно название шапки поменять при выводе "Всего:", но хотелось бы, чтоб и весь список для наглядности оставался. Тогда, как я понял, это дело вкуса?


Почему выводить label-ы это не серьезно? Потому что они из IDE создаются? Создай массив label-ов и выводи хоть хоть как таблицу, хоть и под List. И всегда можно добавить новое поле и изменить цвет.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

    TopList  
cron