Перейти к содержанию

Вопросы

Добрый день!

имеем - Rio 10.3 Community и ListView который отрисовывает элементы базы данных (с помощью onUpdatingObjects);

Далее пытаюсь делать сортировку элементов ListView с помощью вот такого когда:

ListView1.Items.Sort(TComparer<TListViewItem>.Construct(
    function(const ALeft, ARight: TListViewItem): Integer
    begin
      Result:=0;

      if ALeft.Data['Price'].AsInteger<ALeft.Data['Price'].AsInteger then Result:=1
      else Result:=-1;
    end));

 

Программа или виснет, или вылетает по Access violation. (

Что интересно - если сортировать по полю Tag (см код ниже) - все работает.

ListView1.Items.Sort(TComparer<TListViewItem>.Construct(
    function(const ALeft, ARight: TListViewItem): Integer
    begin
      Result:=0;

      if ALeft.Tag<ALeft.Tag then Result:=1
      else Result:=-1;
    end));

Но у меня условие сортировки сложное. все данные в поле Tag я не вставлю (

 

ВАЖНО - .Data['Price'].AsInteger - совершенно точно существует.

Также пробовал искать по FindDrawable - элементы TListItemText, вставленные в onUpdatingObjects и сравнивать их - эффект тот же - или виснет, или access violation.

Сталкивался ли кто с таким? какой совет можете дать, куда рыть?

Спасибо!


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0

рыть лучше всего в сторону модели данных

сортировать данные там, и заново выводить в ListView

и нет проблем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
7 часов назад, krapotkin сказал:

рыть лучше всего в сторону модели данных

сортировать данные там, и заново выводить в ListView

и нет проблем

Я Вас правильно понял - вы имеете ввиду самому отсортировать свой массив и в таком виде его грузить в ListView?

тоже начинаю к этому склоняться (

а что, разве это такая большая проблема - сортировка элементов внутри ListVew? на эти грабли уже наступали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

ListView - это отображение а не хранение. лучше сортировать источник данных

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...