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

Долгое заполенение TreeView

Вопросы

Добавляю в цикле 10000 итемов в  TreeView (FMX). Очень долго заполняется. Есть ли какой-нибудь способ для ускорения или другой компонент для отображения дерева?

 

procedure TForm1.Button1Click(Sender: TObject);
var I    : Integer;
    Item : TTreeViewItem;
begin
TreeView1.BeginUpdate;
for i := 0 to 99999 do
  begin
  item:= TTreeViewItem.Create(nil);
     with item do
       begin
         Parent := TreeView1;
         Text := 'Item_' + IntToStr(i);
       end;
  end;
 TreeView1.EndUpdate;
end;

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


Ссылка на сообщение

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

  • 0

Сто тысяч элементов :blink:

Не уверен, что какой-либо компонент, кроме VirtualTreeView способен на такое "быстро", но он - только под винду.

Пожалейте пользователя - ему явно не нужно столько элементов. Может, стоит пересмотреть UI? В очень редких случаях нужно отображать более 100 (для десктопа) и 20-30 (для мобильных платформ), юзер все равно не охватит такое количество ни взглядом, ни своей оперативкой :)

И - если у Вас дерево одноуровневое, судя по примеру (понятно, что он упрощен) - может, лучше задействовать listView?

Отредактировал kami

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


Ссылка на сообщение
  • 0

Сто тысяч элементов :blink:

Не уверен, что какой-либо компонент, кроме VirtualTreeView способен на такое "быстро", но он - только под винду.

Пожалейте пользователя - ему явно не нужно столько элементов. Может, стоит пересмотреть UI? В очень редких случаях нужно отображать более 100 (для десктопа) и 20-30 (для мобильных платформ), юзер все равно не охватит такое количество ни взглядом, ни своей оперативкой :)

И - если у Вас дерево одноуровневое, судя по примеру (понятно, что он упрощен) - может, лучше задействовать listView?

Приложение под винду. VirtualTreeView только под VCL, а мне нужно под FMX. Дерево будет многоуровневым (listView не подходит) и с иконками.

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


Ссылка на сообщение
  • 0

Тогда переработать алгоритм заполнения, первоначально грузить первых два уровня, затем в отдельном потоке остальные уровни

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


Ссылка на сообщение
  • 0

не нужно даже предполагать возможность скачивания 10000 элементов в экран размером 12 см

даже для десктопа это плохая архитектура, а для мобилы - 100% непригодная

нужно сразу думать о другом интерфейсе

зайди в вк. промотай 200 записей из новостей, все и так еле шевелится...

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


Ссылка на сообщение

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

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

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

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

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

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

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

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


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

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

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