![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка по клику на заголовке [D7, XP]
Milashka © (2006-07-20 08:15:00)Уважаемые Мастера!
Сортировку по клику на заголовке таблицы осуществляю так:
procedure TFPerehod.DBGridEhPrihodTitleBtnClick(Sender: TObject;
ACol: Integer; Column: TColumnEh);
begin
if column.Title.SortMarker=smDownEh
then
column.Title.SortMarker:=smUpEh
else
column.Title.SortMarker:=smDownEh;
Perehods.MakeOrder(Column.FieldName,column.Title.SortMarker);
end;
procedure TMy_DataSets.MakeOrder(FieldName:string;SortMarker:TSortMArkerEh);
begin
OrderSQL.Text:=' order by '+FieldName;
if SortMarker=smUpEh
then
OrderSQL.Text:=OrderSQL.Text+' desc ';
ActivateDataSet();
end;
проблема в том, что в запросе датасета используются псевдонимы для
столюбцов таблиц, а сортировку по ним делать не получается (InterBase).
т.е. в запросе например:
select
perehod.idperehod, perehod_status.naimenovan as statname,
....
надо написать
order by perehod_status.naimenovan ,
но в таблице FieldName идет statname.
Подскажите пожалуйста, как выйти из данной ситуации.
Может в DBGridEh в столбце хранить полное имя поля (perehod_status.naimenovan), вот только где???
ORMADA (2006-07-20 12:11:00) [1]кстати в Ehlib 4.x это делается с помощью встроенной мемори таблы автоматом при наличии DataService
под ИБ там есть....
кстати многи чего ещё нового по сравнению с 3.х
clickmaker (2006-07-20 11:54:00) [2]TField.Origin