Перейти к содержанию
Fire Monkey от А до Я
  • 0

Сортировка элементов TListBoxItem в TListBox при помощи функции Sort по любым критериям


kvantum

Вопрос

Здравствуйте! 

 

Необходимо реализовать сортировку пользовательских итемов TListBox в зависимости от значений их свойств.

Во вложении тестовый пример сортировки по Item.Tag = Random(1000)

 

Пользовательская функция сортировки: 

function TForm1.SortFunc(Item1, Item2: TFmxObject): Integer;
begin
  if (Item1 as TListBoxItem).Tag > (Item2 as TListBoxItem).Tag then Result:=1;
  if (Item1 as TListBoxItem).Tag < (Item2 as TListBoxItem).Tag then Result:=-1;
  if (Item1 as TListBoxItem).Tag = (Item2 as TListBoxItem).Tag then Result:=0;
end;

Вызов сортировки: 

procedure TForm1.Button1Click(Sender: TObject);
begin
  ListBox1.BeginUpdate;
  ListBox1.Sort(SortFunc);
  ListBox1.EndUpdate;
end;

К сожалению, сортировка не работает - порядок следования итемов в списке не меняется.

 

Прошу помочь ! 

 

ListSort.zip

Ссылка на комментарий

Рекомендуемые сообщения

Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...