|
|
Регистрация | << Правила форума >> | 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 - пустое. С чем это может быть связано? |
#2
|
||||
|
||||
Попробуйте посмотреть брейкпоинтом во время исполнения содержимое order_query перед её загрузкой в fQuery, возможно оно отличается от ожидаемого
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
VitaliySchetinin (10.07.2015)
|
#3
|
|||
|
|||
order_query точно в порядке
|