Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сортировка в DBGridEh [D6, dBase, FoxPro]


Poluprovodnik ©   (2004-07-26 08:11:00) 

Посмотрел как сделан сабж в демке к компоненте EhLib, а именно при клике по колонке сортируются данные. Пробовал у себя реализовать, - что-то не получается. Может ли это зависеть от типа БД (в демке используются Парадоксовские базы, а у меня Dbf)? Подскажите плиз что не так делаю? Вот код как делаю:

procedure TForm1.DBGridEh1TitleBtnClick(Sender: TObject; ACol: Integer;
 Column: TColumnEh);
begin
 case Column.Title.SortMarker of
   smNoneEh: Column.Title.SortMarker := smDownEh;
   smDownEh: Column.Title.SortMarker := smUpEh;
   smUpEh: Column.Title.SortMarker := smNoneEh;
 end;
end;


Сергей Г   (2004-07-30 19:37:00) [1]

в обраьотке DBGridEh1TitleBtnClick
добавь смену индекса:

case Column.Title.SortMarker of
  smNoneEh: Table1.Index := '';
  smDownEh: Table1.Index :='Index1';
  smUpEh:   Table1.Index:='Index2';
end;


Poluprovodnik   (2004-07-28 05:00:00) [2]

Всем спасибо, разобрался. Теперь сортирует :).
Но появилась новая проблемма :(. При включенной сортировке начинаются  жуткие тормоза при прокрутке таблицы и при поиске по первым символам в гриде. Дело в том, что я не использую БДЕ, а вместо компоненты Table использую компоненту tDBF. Для сортировки использую индексы. Может что-нибудь можно сделать, кроме отката на стандартный грид или отказа от сортировки?


Euronymous   (2004-07-26 10:37:00) [3]

ищешь не там...
посмотри что написано на OnSortMarkingChanged...


Соловьев   (2004-07-26 10:25:00) [4]


> Может ли это зависеть от типа БД (в демке используются Парадоксовские
> базы, а у меня Dbf)?

доступ к ним через БДЕ?


Unit DataSet Local sorting Server sorting Local filtering Server filtering

EhLibBDE TQuery, TTable  N Y Y Y
EhLibADO TADOQuery, Y Y Y Y

TADODataSet

EhLibCDS TClientDataSet Y Y Y Y
EhLibDBX TSQLQuery,

TSQLDataSet N Y N Y

EhLibIBX TIBQuery,

TIBDataSet  N Y Y Y

EhLib Software


Johnmen   (2004-07-26 09:15:00) [5]

Т.е. ты считаешь, что перерисовка изображения маркера сортировки как-то влияет на саму сортировку данных ?
:)))))))))))))))))
И не надо врать, что в демке именно так сортируютя данные !


Sandman25   (2004-07-26 09:12:00) [6]

Это не изменит сортировку, а только покажет индикаторы в заголовках.


Наверх

Титульная страница Поиск, карта сайта Написать письмо