|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Пустые DBGrid.Columns[i].Field после запроса с Order
Добрый день.
Использую Delphi 7 + BDE + firebird Обрабатывал сортировку в DBGridEh. Перегрузил метод fDBGridEhSortMarkingChanged: Код:
procedure TFormTable.fDBGridEhSortMarkingChanged(Sender: TObject); var query, column , order_query : string; sortIndex, i : integer; col : TColumnEh; begin inherited; SaveDBGrid; if (Pos('ORDER', fQuery.SQL[fQuery.SQL.Count-1] ) > 0) then fQuery.SQL.Delete(fQuery.SQL.Count-1); query := fQuery.SQL.Text; for i := 0 to fDBGridEh.Columns.Count-1 do begin column := fDBGridEh.Columns[i].FieldName; if fDBGridEh.Columns[i].Title.SortMarker = smDownEh then order_query := order_query + column + ' DESC , ' else if fDBGridEh.Columns[i].Title.SortMarker = smUpEh then order_query := order_query + column + ' , '; end; if order_query <> '' then begin //Удаляем последнюю запятую order_query:=LeftStr(order_query,Length(order_query)-3); order_query := 'ORDER BY ' + order_query; end; with fQuery do begin Close; SQL.Clear; SQL.Add(query); SQL.Add(order_query); Open; end; end; Работает через раз. После запроса с order by fDBGridEh.Columns[i].FieldName - пустое. С чем это может быть связано? |