Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2009, 16:03   #1
Alexeyss
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 10
По умолчанию Сортировка в DbGridEh

Здравствуйте.

Подскажите пожалуйста, кто-нибудь сталкивался с подобной проблемой:
Фильтруем Grid добавляем новую запись, происходит close-open adoquery после чего на гриде остается метка о сортировке, но самой сортировки естественно нет. Как решить данную проблему?
Спасибо.
Alexeyss вне форума Ответить с цитированием
Старый 17.11.2009, 18:49   #2
Highlander1981
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Alexeyss Посмотреть сообщение
Здравствуйте.

Подскажите пожалуйста, кто-нибудь сталкивался с подобной проблемой:
Фильтруем Grid добавляем новую запись, происходит close-open adoquery после чего на гриде остается метка о сортировке, но самой сортировки естественно нет. Как решить данную проблему?
Спасибо.
Между close-open adoquery добавь строку:
Код:
DBGridEh1.Columns[ACol].Title.SortMarker:=smNoneEh;
АСol - номер столбца в котором остается метка...
Highlander1981 вне форума Ответить с цитированием
Старый 17.11.2009, 23:54   #3
Alexeyss
Пользователь
 
Регистрация: 03.06.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Highlander1981 Посмотреть сообщение
Между close-open adoquery добавь строку:
Код:
DBGridEh1.Columns[ACol].Title.SortMarker:=smNoneEh;
АСol - номер столбца в котором остается метка...
Да нет, вся проблема как раз в том, чтобы сохранить и метку грида и саму сортировку.
Alexeyss вне форума Ответить с цитированием
Старый 18.11.2009, 08:46   #4
Highlander1981
Пользователь
 
Регистрация: 12.11.2009
Сообщений: 20
По умолчанию

Цитата:
Сообщение от Alexeyss Посмотреть сообщение
Да нет, вся проблема как раз в том, чтобы сохранить и метку грида и саму сортировку.
Тогда не понятно. Сортировку как делаешь?
1. eсли через встроенный механизм SortLocal=true, тогда перед закрытием Close запомни свойство Sort, а после Open восстанавливай его, примерно так:
Код:
ТвояПеременная := ADOQuery1.Sort;
ADOQuery1.Close;
ADOQuery1.Open;
ADOQuery1.Sort := ТвояПеременная;
2. если через запрос SQL при событии DBGridEh1TitleBtnClick, то видимо после Open нужно вызвать это событие программно.
Highlander1981 вне форума Ответить с цитированием
Старый 21.11.2009, 11:25   #5
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

я эту проблему решал так:
Код:
procedure TfList.lGridTitleBtnClick(Sender: TObject; ACol: Integer; 
  Column: TColumnEh);
begin
if (Column.Title.SortMarker=smUpEh) OR (Column.Title.SortMarker=smNoneEh)
  then
  begin
  LIST_DS.DoSort([Column.FieldName],[False]);
  Column.Title.SortMarker:=smDownEh;  
  end
  else
  begin
  LIST_DS.DoSort([Column.FieldName],[True]);
  Column.Title.SortMarker:=smUpEh;
  end;
end;
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции с DBGridEh artemavd БД в Delphi 0 03.06.2009 11:53
DBGridEh и Filter lexaltd БД в Delphi 3 28.05.2009 12:05
Ehlib, DBGridEh Rustem.xxx Компоненты Delphi 2 27.05.2008 14:41
автопоиск в DBGridEh furstenberg Компоненты Delphi 4 18.02.2008 12:49
из DBGridEh в Exel Abay БД в Delphi 3 18.09.2007 09:10