Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Направление сортировки 
:(
    Опции темы
Гость_Konstantin
Дата 22.4.2005, 12:13 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Удачного дня всем!
Подскажите как в listview поменять направление сортировки (по убыванию)

  Вверх
~FoX~
Дата 22.4.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



А что нам про это справка говорит? smile
Цитата

stNone No sorting is done.
stData Items are sorted based on their Data property. An event handler must be provided to compare Data values.
stText Items are sorted based on their Caption property.
stBoth Items are sorted based on both the Data and Caption. The Data values are ignored unless an event handler is provided to compare them.


Пример
Код

ListView1.SortType := stText;

Добавлено @ 13:27
Ой, это я погорячился. Тебе видать надо не по возростанию, а по убыванию сортить.

Если так, то только руками, или компонент переписать.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
fess
Дата 22.4.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 17.2.2005
Где: г. Мурманск, Росс ия

Репутация: 2
Всего: 3



Цитата
Если так, то только руками, или компонент переписать.

Зачем чуть-что сразу компонент переписывать - надо дальше справку читать smile

Для изменения алгоритва сортировки используется событие OnCompare:


Код

procedure TForm1.ListView1Compare(Sender: TObject; Item1, Item2: TListItem;
  Data: Integer; var Compare: Integer);
begin

{Параметр Compare может иметь три значения: 1, -1 или 0. Единица означает,
что первый элемент больше (или должен быть размещён после) второго элемента.
Минус одни означает, что первый элемент меньше чем (или должен быть размещён
перед) второй элемент. Ноль означает, что два элемента равны - это цитата из DRNB  }

  {для сортировки по тексту по убыванию, если по данным - то сравниваешь сами данные}
 if CompareText(Item1.Caption,Item2.Caption)>0
 then  Compare:=-1
 else if CompareText(Item1.Caption,Item2.Caption)<0
      then  Compare:=1;
  
  {можно это же записать ещё короче, но менее понятно }
//Compare:= -CompareText(Item1.Caption,Item2.Caption);


end;


Это сообщение отредактировал(а) fess - 22.4.2005, 14:19
--------------------
Компьютер не подчиняется законам физики. Только в нём глюки возникают из ничего, файлы исчезают в никуда, а объём измеряется в метрах и называется весом.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1002 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.