alexs писал(а):exsortzeos.pas
идёт в комплекте библиотеки.
да действительно при поднятии двух флагов и подключении этого юнита пошло, только вот с русскими буквами какая то засада цифры и латиницу сортирует как положено и по возрастанию и по убыванию, а вот русские символы почему то как то пересортицей, что можете подсказать как это победить?
кстати если нужно нашел ошибку при работе сортировки с рускими полями под Postgres , вот файлик с изменениями
unit exsortzeos;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, DB,
{$IFDEF FPC}
RxDBGrid
{$ELSE}
exDBGrid
{$ENDIF}
,ZConnection, ZDataset, ZAbstractRODataset;
type
TFBDataSetSortEngine = class(TExDBGridSortEngine)
public
procedure Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);override;
end;
implementation
//uses FBCustomDataSet;
procedure TFBDataSetSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean);
begin
if Assigned(ADataSet) then begin
(ADataSet as TZQuery).SortedFields:='"'+Field.FieldName+'"';
if Asc then (ADataSet as TZQuery).SortType:=stAscending
else (ADataSet as TZQuery).SortType:=stDescending;
end
end;
initialization
RegisterExDBGridSortEngine(TFBDataSetSortEngine, TZQuery);
end.