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

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

Сортировка DBGrid по клику на колонке [D6]


Relaxxx ©   (2003-08-18 15:24:00) 

Как мне упорядочить по щелчку на заголовке колонки в ДБГрид. Я делал так

procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
with Query1 do
begin
Close;
SQL.Clear;
SQL.Add(QuerySQL);
SQL.Add("ORDER BY " + Column.FieldName);
Open;
end;
end;

Но проблема в том что у меня есть поля Lookup и Calculate и я хотел бы сделать по ним тоже сортировку, не подскажите как мне это реализовать??


Nikolay M.   (2003-08-18 16:13:00) [1]

Кидаешь рядом со своим Query:
1) DataSetProvider (у него сразу ставишь ResolveToDataSet := True и DataSet := Query1)
2) ClientDataSet, у него устанавливаешь ProviderName
3) свой DataSource переводишь на ClientDataSet
проверяешь, что функциональность программы сохранилась, после чего открываешь хелп по ClientDataSet.IndexDefs и учишься создавать индексы на лету.
В трехзвенке у меня сортировка идет именно так, когда на клиенте есть все данные из DataSet-a.


MsGuns   (2003-08-18 16:00:00) [2]

Все свои калькуоируемые и лукапные поля получай в НД из запроса и сортируй по ним в общем порядке - так, как ты знаешь.


Relaxxx   (2003-08-18 15:55:00) [3]

Я понимаю что вы о чем то о своем, но я нешарю, как использовать view или еще лучше
> подключить DataSetProvider (ResolveToDataSet := True) и
> ClientDataSet и делать сортировку в CDS.


DenK_vrtz   (2003-08-18 15:52:00) [4]

[3] - не перезапрашивая!


vopros   (2003-08-18 15:45:00) [5]

Можно view сделать и сортировать


Relaxxx   (2003-08-18 15:43:00) [6]

А поподробней можно, или хотя б, где почитать??? Я просто этого еще ниразу не делал.


Nikolay M.   (2003-08-18 15:32:00) [7]

Можно почесаться левой ногой: подключить DataSetProvider (ResolveToDataSet := True) и ClientDataSet и делать сортировку в CDS.


Наверх

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