Сортировка DBGrid по клику на колонке.
Компилятор: Delphi
На форме расположены TQuery, TDatasource и TDbGrid
связанные вместе.
QuerySQL, это глобальная строка, которая содержит
SQL-выражение.
begin
QuerySQL := 'SELECT * FROM Customer.DB';
Query1.SQL.Add(QuerySQL);
Query1.Open;
end;
В DBGrid в событии OnTitleClick, достаточно добавить ORDER-BY
к sql-строке и обновить запрос.
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
with Query1 do
begin
DisableControls;
Close;
SQL.Clear;
SQL.Add(QuerySQL);
SQL.Add('ORDER BY ' + Column.FieldName);
Open;
// Восстанавливаем настройки
заголовка, иначе всё станет синим
DBGrid1.Columns.RestoreDefaults;
Column.Title.Font.Color := clBlue;
EnableControls;
end;
end;
|