Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка данных, Interbase, DBGrid 
:(
    Опции темы
Tenyps
Дата 1.8.2005, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Доброго времени суток! Шутка вот такая...
Есть база (Interbase, в принципе ето не важно), из базы делаеться выборка (IBDataSet), навешан DataSource и подключен DBGrid....
В результате запросика получаем большую кучу записей, отсортированных допустим по первичному ключику (ет тоже не важно)....

Надо, после выполнения запроса на выборку сортировать полученные данные по разным столбцам в DBGrid-е либо в IBDataSet-e (если это возможно)...сортировать SQL запросам заново выбирая данные из базы неприемлимо (записей куча...а трафик не резиновый)
Следовательно хотелось бы получить данные из базы всего один раз, а уже в клиентской части сортировать как угодно, с отображением этого в DBGride (причем у всего остального подключенного к IBDataSet эти изменения тоже должны быть активны)

Если вопросик детский...то извините за спам..и дайте линк что почитать......

PM MAIL ICQ   Вверх
Петрович
Дата 1.8.2005, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Воспользуйся компонентами FIB+. Там есть локальная сортировка. Либо попробуй поиграться с tClientDataset.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Tenyps
Дата 1.8.2005, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Цитата
Воспользуйся компонентами FIB+. Там есть локальная сортировка. Либо попробуй поиграться с tClientDataset.

Fib+ - я понимаю что есть..но оно немного платное smile...демки юзать не перевариваю
а поиграться - да уже наигрался, потому и обращаюсь
PM MAIL ICQ   Вверх
Лисеночек
Дата 2.8.2005, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 12.11.2004

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



Могу посоветовать использовать вместо DBGrid DBGridEh. Нужно установить библиотеку. Там сортировка автоматом идет
PM MAIL   Вверх
Петрович
Дата 2.8.2005, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата
Могу посоветовать использовать вместо DBGrid DBGridEh. Нужно установить библиотеку. Там сортировка автоматом идет

Ну автомато-то автоматом. Но, DBGridEh ее не сам делает. Если набор данных не умеет локально сртироваться, то и EhLib не поможет. Правда, там есть некий компонет tMemTable, который может помочь. Но, лично мне не удалось им нормально воспользоваться. Мне показалось что он (tMemTable) больно глючный.
Есть QuantumGrid, там есть локальная сортировака. Но он во первых тоже платный, а во вторых, очень громоздкий.

Цитата(Tenyps @ 2.8.2005, 00:13)
Цитата (Петрович @ 1.8.2005, 23:09)
Воспользуйся компонентами FIB+. Там есть локальная сортировка. Либо попробуй поиграться с tClientDataset.


Fib+ - я понимаю что есть..но оно немного платное ...демки юзать не перевариваю
а поиграться - да уже наигрался, потому и обращаюсь

Т.е. с tClientDataset наигрался?


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Tenyps
Дата 2.8.2005, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Игрался я с IBDataSet....так как пользуюсь вкладкой исключительно Interbase...только оно подделано под IBAPI...
Записи все то храняться в Датасете определенным образом..я вот думал что можно вручную поменять порядок их хранения.... smile и как это отразится на подключенных визуальных компонентах если такое возможно smile

Хоть бери и компонент переписывай...неужели авторы не могли подумать о такой простой штуке....причем вполне логичной smile

Это сообщение отредактировал(а) Tenyps - 2.8.2005, 20:52
PM MAIL ICQ   Вверх
Tenyps
Дата 2.8.2005, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Цитата
Правда, там есть некий компонет tMemTable, который может помочь. Но, лично мне не удалось им нормально воспользоваться. Мне показалось что он (tMemTable) больно глючный.

Что за компонентик? чет я не слыхал и не видовал о нем ничего....
PM MAIL ICQ   Вверх
Петрович
Дата 3.8.2005, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Tenyps @ 2.8.2005, 22:06)
Что за компонентик? чет я не слыхал и не видовал о нем ничего....

Посмотри, он там в папке EhLib\AdvTech\MemTableEh\. Там же есть некоторое описалово к нему.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Tenyps
Дата 3.8.2005, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Цитата
Посмотри, он там в папке EhLib\AdvTech\MemTableEh\. Там же есть некоторое описалово к нему.

Ясненько...посотрю скажу что получилось в конечном итоге.....
И как я понимаю больше идей нема? smile

Это сообщение отредактировал(а) Tenyps - 3.8.2005, 09:39
PM MAIL ICQ   Вверх
Петрович
Дата 3.8.2005, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Tenyps @ 3.8.2005, 10:38)
И как я понимаю больше идей нема?

Дык я уже писал:
Цитата
Либо попробуй поиграться с tClientDataset.

А ты не с тем игрался:
Цитата(Tenyps @ 2.8.2005, 21:51)
Игрался я с IBDataSet....так как пользуюсь вкладкой исключительно Interbase...только оно подделано под IBAPI

tClientDataset и IBDataSet это не одно и тоже!
Вот тебе пример в котором таблица с IB-сервера отображается в обычном гриде, а по щелчку на заголовке колонок можно сортировать по тому или иному полю. Сделано на tClientDataset+tIBQuery.


Присоединённый файл ( Кол-во скачиваний: 62 )
Присоединённый файл  TestForm.zip 1,48 Kb


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Tenyps
Дата 3.8.2005, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Респект..все работает..большое спасибо...
Сначало при активизации tClientDataSet подчистую приложение висло(при активизации всего остального все было ок)...пришлось дополнтельно покопаться в настройках фаервола...потом все пошло...
Код конешна прикольный...хе...поидее ети свойства должны быть и у других DataSet-ов и также работать..
PM MAIL ICQ   Вверх
Tenyps
Дата 3.8.2005, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Хотя я наверно погарячился что все....
у нас вся ета байда весит на Query....а у меня все запросы на выборку, обновление, изменения весели на IBDataSete....если перевесить все на IBDataSet ??? возможны неприятности ???
PM MAIL ICQ   Вверх
Петрович
Дата 4.8.2005, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Tenyps @ 3.8.2005, 22:37)
изменения весели на IBDataSete....если перевесить все на IBDataSet ???

smile


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Tenyps
Дата 4.8.2005, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 1.8.2005
Где: Белгород-Днестров ский

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



Не надо вырывать фразы из контекста....
В примере запрос прописан в Query.....в реальной программе все запросы на выборку, обновление, изменения весят в IBDataSete....
Вот я и спрашиваю что если преместить все то что подсоедино в примере к Query на IBDataSet ...то что хорошего из этого получиться ??? Или никаких проблем в етом нет ???
Получается IBDataSEt - Provider - TClientDataSet - DBGrid.....странноватая конструкция.... smile

Это сообщение отредактировал(а) Tenyps - 4.8.2005, 22:15
PM MAIL ICQ   Вверх
Петрович
Дата 5.8.2005, 08:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(Tenyps @ 4.8.2005, 23:10)
Не надо вырывать фразы из контекста....

Прости, не понял исходной фразы.

Цитата(Tenyps @ 4.8.2005, 23:10)
Вот я и спрашиваю что если преместить все то что подсоедино в примере к Query на IBDataSet ...то что хорошего из этого получиться ??? Или никаких проблем в етом нет ???


Если честно, то сам широко не использую TClientDataSet, поэтому о потенциальных проблемах ничего сказать не могу. Хотя, например, что-то я не нашел как там сделать обратную сортировку (по убыванию)

Вообще, все-таки рекомендую приобрести FIB+ - не так дорого. Зато очень многие проблемы там решены. Сам я опять-же пока ими не пользуюсь. Раньше тоже пользовал IBX, а сейчас просто последние полгода-год вообще IB не пользуюсь smile. Но, имею ОЧЕНЬ положительные отзывы о FIB+ от человека который тоже раньше использовал IBX, и которому я вполне доверяю. С его слов, там много разных "вкусностей" которых очень не хватало в IBX. Да и вообще, IBX довольно кривоват и не доделан smile.

Цитата(Tenyps @ 4.8.2005, 23:10)
Получается IBDataSEt - Provider - TClientDataSet - DBGrid.....странноватая конструкция....

Ну а то что "странноватая конструкция" это не страшно. В нашем мире вообще много странного. А уж в программах ...




--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0880 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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