![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка 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.