Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 15.05.2008, 21:54
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию Сортировка в TDBGridEH

Решил попробовать использовать компонент TDBGridEH. Не могу понять как осуществлять сортировку и автоматически расширять строки. Вроде уж все что можно пощелкал. Кто пользовался этим делом подскажите пожалуйста.
Ответить с цитированием
  #2  
Старый 15.05.2008, 23:16
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Если открыть справку EhLib.hlp (вер.3.6), то там ясно написано, что:
DBGridEh can not sort or filter data by itself. But it can pass action for sorting or filtering to the specal object that will do it in DataSet.
Т.е. самостоятельно DBGridEh не может ни сортировать, ни фильтровать данные. А использует возможности сортировки DataSet.
Например, в справке приведена такая таблица (здесь не вся):
Unit_______DataSet_________________Local sorting__Server sorting

EhLibBDE__TQuery,TTable____________N____________Y
EhLibADO__TADOQuery,TADODataSet__Y____________Y
Возможности сортировки целиком зависят от используемой СУБД и компонентов, которые связывают приложения и эту самую СУБД.
Чем пользуюсь про то и могу только сказать. В SQL запросе предложение ORDER BY и осуществляет сортировку. Так что DBGrid (и DBGridEh) получает и отображает уже отсортированные данные.

Автоматическое "расширение" (по ширине) возможно установкой свойства AutoFitColWidth таблицы и таких же свойств каждой из колонок.
Для "расширение" по высоте строк можно посмотреть свойство RowSizingAllowed.

Последний раз редактировалось san-46, 15.05.2008 в 23:42.
Ответить с цитированием
  #3  
Старый 16.05.2008, 18:59
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Цитата:
Сообщение от san-46
Т.е. самостоятельно DBGridEh не может ни сортировать, ни фильтровать данные. А использует возможности сортировки DataSet.
ORDER BY и осуществляет сортировку. Так что DBGrid (и DBGridEh) получает и отображает уже отсортированные данные.
А я уж подумал что DBGridEh как и cxGrid может это делать.
С сортировкой в запросах то енто понятно.

Цитата:
Сообщение от san-46
Автоматическое "расширение" (по ширине) возможно установкой свойства AutoFitColWidth таблицы и таких же свойств каждой из колонок.
Для "расширение" по высоте строк можно посмотреть свойство RowSizingAllowed.
Эти свойства у меня уже включены в True. По ширине все работает, тут вопросов не возникало, а вот по высоте не хотит.
Ответить с цитированием
  #4  
Старый 16.05.2008, 20:05
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Можно поиграться свойствами таблицы RowHeight, RowLine и RowSizingAllow. При этом свойство WordWrap нужной колонки должно быть установлено в True. Прямые зависимости этих свойств не очевидны, но при сноровке можно поймать их сочетание, так что строки будут той высоты, какая требуется при многострочном тексте.
Ответить с цитированием
  #5  
Старый 16.05.2008, 20:39
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Спасибо.
Но так автовысота и не устанавливается. Не приобрел еще наверное сноровку.
Ответить с цитированием
  #6  
Старый 16.05.2008, 21:19
san-46 san-46 вне форума
Активный
 
Регистрация: 25.04.2008
Сообщения: 383
Репутация: 33
По умолчанию

Если речь о версии 3.6, то, конечно, автовысоты там и нет. Может быть в версии 4.х. Но ее не юзал (платная). А то что можно достичь с помощью вышеназванных свойств, всего лишь высота, при которой текст в 2-3 строки будут помещаться в ячейку. При этом и другие строки, где этого не требуется, тоже будут той же высоты.
Ответить с цитированием
  #7  
Старый 16.05.2008, 21:52
MegaPiha MegaPiha вне форума
Активный
 
Регистрация: 24.03.2008
Сообщения: 227
Версия Delphi: Delphi 7
Репутация: 30
По умолчанию

Да, версия 3.6. Собственно все понял. Спасибо за ответы.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:17.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter