Поиск:

Ответ в темуСоздание новой темы Создание опроса
> глюки TClientDataSet после применения фильтра, сбивается группировка 
V
    Опции темы
Knuckles
  Дата 14.11.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

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



Есть TClientDataSet, в нем несколько полей. Определен индекс GroupByIP (Filelds=DstIP;SrcIP , GroupingLevel=2) - группирует внутри ДатаСета записи по двум полям. Все работает, как нельзя лучше. Точнее работало. Пока я не начал применять фильтр к данным.
Фильтр по дате такой:
Код

ds.Filter:='(Date(DateTime) >= '+QuotedStr(Edit1.Text)+') and (Date(DateTime) <= '+QuotedStr(Edit2.Text)+')';

И, надо сказать, что и он работает, как нельзя лучше. Но только один раз. Если повторно применить фильтр (тот же или с другими датами), то ДатаСет просто сходит с ума! А именно что-то происходит с группировками по вышеуказанному индексу. Почему-то одна и та же запись появляется много раз и ДатаСет не распознает, что она в группе. Т.е. у них у всех ds.GetGroupState начинает возвращать [gbFirst,gbLast], потом несколько записей все же оказываются в группе. Короче, полнейший бардак.
Хелп дельфийский облазил, никаких пометок там не нашел. Другие свойства компонента после применения фильтра кажется не меняются.
Подскажите, что не так? Каким образом наличие фильтра (а точнее его повторное изменение) так влияет на результаты сортировки/группировки? Что делать?
PM   Вверх
Romkin
Дата 15.11.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: нет
Всего: 5



А версия Delphi какая?
PM ICQ   Вверх
Knuckles
Дата 15.11.2006, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

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



Delphi 7
PM   Вверх
Knuckles
Дата 15.11.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 33
Регистрация: 8.3.2006

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



Кажется понял в чем дело.
Перед изменением фильтра данные должны быть перечитаны. Тогда все работает. Осталось небольшое сомнение: насколько это быстро делается (ClientDataSet.LoadFromFile)?
Теперь возникла другая проблема.
PM   Вверх
Akella
Дата 15.11.2006, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



а может использовать MemoryData, т.е. временную таблицу в памяти?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

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

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


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

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

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


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

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


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

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


 




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


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

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