Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cxGrid, фильтрация и выгрузка 
:(
    Опции темы
Агрох
Дата 28.1.2014, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 6.4.2013
Где: Москва

Репутация: 1
Всего: 6



В cxGrid из базы загружаю данные. Позже эти данные надо отфильтровать по полю с датой и выгрузить в excel.
Столкнулся с двумя проблемами:

1) Когда первый раз запускаешь фильтрацию то она делается очень долго. Все последующие фильтрации, в том числе показать всё и фильтрация по тому же значению что и в первый раз, работают нормально. Из за чего такое может быть и как лечится?

2)Выгрузить данные из таблицы - не проблема, в excel темболее. Но надо выгрузить именно отфильтрованные в cxGrid.

На официальном сайте нашёл такой пример:
Код

CXCDF := cxGrid1DBTableView1.DataController.Fields[0];
  for i1 := 0 to cxGrid1DBTableView1.DataController.FilteredRecordCount - 1 do
  begin
    ARowIndex := cxGrid1DBTableView1.DataController.FilteredRecordIndex[i1];
    Ap.Cells[i1, 1] := VarToStr(cxGrid1DBTableView1.DataController.GetFilterDataValue(ARowIndex, CXCDF));
  end;

Но проблема в том, что в cxGrid1DBTableView1.DataController нет свойства Fields. Видимо что то изменили. Тема на сайте 8-ми летней давности. Других на ту же тему пока не нашёл.

Как перебрать список отсортированных полей?
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Агрох
Дата 28.1.2014, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 6.4.2013
Где: Москва

Репутация: 1
Всего: 6



Вторую задачу решил сам. Если кому надо, вот пример:
Код

  for i1 := 0 to cxGrid1DBTableView1.DataController.FilteredRecordCount - 1 do
  begin
    ARowIndex := cxGrid1DBTableView1.DataController.FilteredRecordIndex[i1];
    Ap.Cells[i1 + 1, 1] := cxGrid1DBTableView1.DataController.GetDisplayText(ARowIndex, 0);
  end;


Первая проблема ещё актуальна.
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
Агрох
Дата 3.2.2014, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 6.4.2013
Где: Москва

Репутация: 1
Всего: 6



Похоже никто не работает с cxGrid. smile

Судя по тому, какие вопросы задают на оф сайте DevExpres и как на них отвечают, проблема в том, что cxGrid не предназначен для работы с большим количеством записей. Где то всплывала цифра в несколько десятков тысяч максимум, при которых скорость работы этого компонента остаётся нормальной.

Пришлось выходить из ситуации использованием фильтра на уровне ADOTable.
--------------------
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


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

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

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


 




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


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

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