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

Скорость заполнения ListView android ios


master webs

Вопрос

Добрый день  интересует вопрос может кто сталкивался с подобной проблемой

в FDMemTable1 есть большое количество записей примерно 2500-3000

как максимально быстро поместить все записи  в ListView 

 

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

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

  • 0
procedure TFPreOrder.ListViewFill(LV: TListView; FDSource: TFDQuery; TextField, DetailField, TagField: string; IsClear: boolean);
var i, index: integer;
    item: TListViewitem;
begin
  if LV.Selected <> nil
    then index:= LV.Selected.Index
    else index:= -1;
  if FDSource.IsEmpty then
    begin
//      ShowMessage('Нет данных!');
      LV.Items.Clear;
      exit;
    end;
  if IsClear then LV.Items.Clear;
  try
    LV.BeginUpdate;
    for i:= 1 to FDSource.RecordCount do
      begin
        FDSource.RecNo:= i;
        item:= LV.Items.Add;
        item.Text:= FDSource.FieldByName(TextField).AsString;
        item.Detail:= FDSource.FieldByName(DetailField).AsString;
        item.Tag:= FDSource.FieldByName(TagField).AsInteger;
      end;
  finally
    LV.EndUpdate;
  end;
  if index = -1 then exit;
  if LV.Items.Count >= index then LV.ItemIndex:= index;
end;

я обычно так заполняю... ну TFDQuery на TFDMemTable только сменить

 

зы. ну и заполнение 

ListViewFill(ListView1, tbPreOrder, 'Name', 'Qty', 'GoodId', True);
Изменено пользователем beklexx
Ссылка на комментарий
  • 0

Тут проблема немного в другом у меня  локально на телефоне  будет несколько баз 

при старте  приложения   скорость не особо влияет так как идет загрузка  всего приложения  и время загрузки объяснимо )

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

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

Используйте динамическую подгрузку итемов

 

Вот по тому методу http://fire-monkey.ru/topic/626-obrabotchik-dostizheniia-kontca-spiska-listview-v-delphi-xe7/

спасибо вариант идеальный так как тестирование  заполнения через простой цикл for   3000 )  показал тотже результат что и заполнение через LiveBindings 

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

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

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

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

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

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

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

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

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

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