add to sort engine for zeos zmacroquery

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1511 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75 2011-02-23 08:29:55 +00:00
parent a11ccc8c85
commit 4a643de30c
2 changed files with 45 additions and 43 deletions

View File

@ -5,7 +5,8 @@ unit exsortzeos;
interface interface
uses uses
Classes, SysUtils, DB, RxDBGrid, ZConnection, ZDataset, ZAbstractRODataset; Classes, SysUtils, DB, RxDBGrid, ZConnection, ZDataset, ZAbstractRODataset,
ZMacroQuery;
type type
@ -21,7 +22,7 @@ implementation
procedure TZeosDataSetSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean; SortOptions:TRxSortEngineOptions); procedure TZeosDataSetSortEngine.Sort(Field:TField; ADataSet:TDataSet; Asc:boolean; SortOptions:TRxSortEngineOptions);
begin begin
if Assigned(ADataSet) then if not Assigned(ADataSet) then exit;
if ADataSet.ClassName='TZReadOnlyQuery' then if ADataSet.ClassName='TZReadOnlyQuery' then
begin begin
(ADataSet as TZReadOnlyQuery).SortedFields:=Field.FieldName; (ADataSet as TZReadOnlyQuery).SortedFields:=Field.FieldName;
@ -31,7 +32,7 @@ begin
(ADataSet as TZReadOnlyQuery).SortType:=stDescending; (ADataSet as TZReadOnlyQuery).SortType:=stDescending;
end end
else else
if ADataSet.ClassName='TZQuery' then if (ADataSet.ClassName='TZQuery') or (ADataSet is TZMacroQuery) then
begin begin
(ADataSet as TZQuery).SortedFields:=Field.FieldName; (ADataSet as TZQuery).SortedFields:=Field.FieldName;
if Asc then if Asc then
@ -52,7 +53,7 @@ end;
procedure TZeosDataSetSortEngine.SortList(ListField:string; ADataSet:TDataSet; Asc:boolean); procedure TZeosDataSetSortEngine.SortList(ListField:string; ADataSet:TDataSet; Asc:boolean);
begin begin
if Assigned(ADataSet) then if not Assigned(ADataSet) then exit;
if ADataSet.ClassName='TZReadOnlyQuery' then if ADataSet.ClassName='TZReadOnlyQuery' then
begin begin
(ADataSet as TZReadOnlyQuery).SortedFields:=ListField; (ADataSet as TZReadOnlyQuery).SortedFields:=ListField;
@ -62,7 +63,7 @@ begin
(ADataSet as TZReadOnlyQuery).SortType:=stDescending; (ADataSet as TZReadOnlyQuery).SortType:=stDescending;
end end
else else
if ADataSet.ClassName='TZQuery' then if (ADataSet.ClassName='TZQuery') or (ADataSet is TZMacroQuery) then
begin begin
(ADataSet as TZQuery).SortedFields:=ListField; (ADataSet as TZQuery).SortedFields:=ListField;
if Asc then if Asc then
@ -86,5 +87,6 @@ initialization
RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZReadOnlyQuery); RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZReadOnlyQuery);
RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZQuery); RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZQuery);
RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZTable); RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZTable);
RegisterRxDBGridSortEngine(TZeosDataSetSortEngine, TZMacroQuery);
end. end.

View File

@ -31,7 +31,7 @@
unit RxTimeEdit; unit RxTimeEdit;
{$mode objfpc}{$H+} {$I rx.inc}
interface interface