When I attach a FDQuery –> Datasource→TTMSFNCDataGridDatabaseAdapter →DataGrid
filtering and sorting within the Grid works as aspected.
But now I want the same result with TAureliusDataset in stead of the FDQuery. Filtering gives emty result, sorting does nothing
What do I wrong (do i forget). Or is this not possible with a TAureliusDataset
Below code:
UNIT uFrmMain;
INTERFACE
USES
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, uFrmBase,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.TMSFNCTypes, FMX.TMSFNCUtils, FMX.TMSFNCGraphics,
FMX.TMSFNCGraphicsTypes, FMX.TMSFNCPageControl, FMX.TMSFNCCustomControl, FMX.TMSFNCTabSet, System.Actions,
FMX.ActnList, FMX.Menus, FMX.ListBox, System.Rtti, FMX.TMSFNCDataGridCell, FMX.TMSFNCDataGridData,
FMX.TMSFNCDataGridBase, FMX.TMSFNCDataGridCore, FMX.TMSFNCDataGridRenderer, FireDAC.Stan.Intf, FireDAC.Stan.Option,
FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async,
FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client, FMX.TMSFNCCustomComponent,
FMX.TMSFNCDataGridDatabaseAdapter, FMX.TMSFNCDataGrid, FMX.StdCtrls, FMX.Controls.Presentation,
Aurelius.Bind.BaseDataset, Aurelius.Bind.Dataset;
TYPE
TfrmMain = CLASS(TFrmBase)
PgCtrl: TTMSFNCPageControl;
tsMain: TTMSFNCPageControlContainer;
Grid: TTMSFNCDataGrid;
AdapterGrid: TTMSFNCDataGridDatabaseAdapter;
FDQuery1: TFDQuery;
DataSource1: TDataSource;
Panel1: TPanel;
Button1: TButton;
AureliusDs: TAureliusDataset;
PROCEDURE FormCreate(Sender: TObject);
PROCEDURE FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
PRIVATE
{ Private declarations }
PUBLIC
{ Public declarations }
END;
VAR
frmMain: TfrmMain;
IMPLEMENTATION
{$R *.fmx}
USES SqlMonitor, uProveniences, uDM,
Aurelius.Engine.DatabaseManager, Aurelius.Engine.ObjectManager, Entities;
{ TfrmMain }
PROCEDURE TfrmMain.FormCreate(Sender: TObject);
BEGIN
INHERITED;
AdapterGrid.Active:=False;
END;
PROCEDURE TfrmMain.FormShow(Sender: TObject);
BEGIN
AureliusDs.Close;
AureliusDs.DefaultsFromObject := True;
AureliusDs.Manager := self.ObjectManager;
AureliusDs.SetSourceList(
self.ObjectManager
.Find<TT_PERSONS>
.OrderBy(Dic.T_PERSONS.F_USERNAME, True)
.list
, True);
END;
procedure TfrmMain.Button1Click(Sender: TObject);
begin
inherited;
FDQuery1.Active:=True; <--- Grid works perfect
// AureliusDs.Active := True; <--- Grids Sort and Filter does not work
AdapterGrid.Active:=True;
end;
END.