| 
| 
 | Вопрос # 2 588/ вопрос открыт / | 
 |  всем приведЕсть ListView. даблбуффер и овердата =тру . Стайл - vsreport
 Есть типы
 type
 TSity = record
 Name:string[50];
 Code:integer;
 Country:string[50];
 GMT:Shortint;
 end;
 TArrSity = array of TSity;
 
 Загружаю данные из файлика в массив, через OnData все отображается в ListView просто замачательна! НО что нужно так это сортировка по колонкам!
 Я в ступоре. Уже все перепробывал (
 К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса) 
|  |   Вопрос задал: Эхо Унитазного Бачка (статус: 1-ый класс)Вопрос отправлен: 2 апреля 2009, 15:44
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, GangrenaGastrit!Клик по колонке отслеживается просто - есть нужно событие.
 После этого, надо определиться, в какую сторону сортировать - для этого обычно заводят переменную, где хранят номер стобца. Если но столбцу кликнули ещё раз, то меняем знак на противоположный - знак того, что сортировка идёт в противоположном направлении. 0 - отсутствие сортировки. Используя эту переменную, можно рисовать треугольничек.
 Собственно, как только был произведёт клик, надо ручками отсортировать массив. РУЧКАМИ! При этом можно сортировать так, как надо (как хочеться). А потом только надо дать комманду обновить листвью - ListView1.Items.Update(0, ListView1.Items.count-1); (или там не надо items вначале - не помню, и делфи нет по рукой).  Листвью сам перезапросит элементы и всё будет красиво:)
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 2 апреля 2009, 15:52
 Оценка за ответ: 4
 Комментарий к оценке: ЧОРТ. Так и думал что придется ручками :-\ Спасибо.
 |  
 Мини-форум вопросаВсего сообщений: 1; последнее сообщение — 2 апреля 2009, 16:11; участников в обсуждении: 1. 
|   | Вадим К (статус: Академик), 2 апреля 2009, 16:11 [#1]:а 4 из за того видимо, что хотелось автоматом?  ну я тут не при чем. Откуда листвью знать, что Вам надо сортировать. Ведь никто не заставляет сортировать именно по алфавиту или по порядку. К примеру, одни считают, что ё должа быть после е, другие, что просто надо приравнять, а есть такие, которые в конец остсылают. Хотя это дело можно частично автоматизировать. Но вдруг хочеть как то вообще специфически отсортировать? например с исключением дубликатов.
 а этот способ никак не ограничивает полет мысли
   Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |