git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@68 b6239004-a887-0f4b-9937-50029ccdca16
109 lines
2.9 KiB
ObjectPascal
109 lines
2.9 KiB
ObjectPascal
unit fClientForm;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
|
|
uROClient, uROClientIntf, uRORemoteService, uROBinMessage,
|
|
uROPoweredByRemObjectsButton, uDAPoweredByDataAbstractButton, ExtCtrls, Grids,
|
|
DBGrids, DB, uDAMemDataTable;
|
|
|
|
type
|
|
TClientForm = class(TForm)
|
|
Panel1: TPanel;
|
|
DAPoweredByDataAbstractButton1: TDAPoweredByDataAbstractButton;
|
|
btLoad: TButton;
|
|
btDelete: TButton;
|
|
btUpdate: TButton;
|
|
chUseDynamicSelect: TCheckBox;
|
|
dgData: TDBGrid;
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure btLoadClick(Sender: TObject);
|
|
procedure btDeleteClick(Sender: TObject);
|
|
procedure btUpdateClick(Sender: TObject);
|
|
procedure chUseDynamicSelectClick(Sender: TObject);
|
|
private
|
|
{ Private declarations }
|
|
function GetDataSource: TDataSource;
|
|
function GetDataTable: TDAMemDataTable;
|
|
public
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
ClientForm: TClientForm;
|
|
|
|
implementation
|
|
|
|
uses
|
|
fClientDataModule, DataAbstract4_Intf;
|
|
|
|
{$R *.dfm}
|
|
|
|
procedure TClientForm.btDeleteClick(Sender: TObject);
|
|
begin
|
|
GetDataTable.Delete;
|
|
end;
|
|
|
|
procedure TClientForm.btLoadClick(Sender: TObject);
|
|
var
|
|
tri: TableRequestInfoV5;
|
|
triArr: array of TableRequestInfo;
|
|
begin
|
|
dgData.DataSource := GetDataSource;
|
|
ClientDataModule.RemoteDataAdapter.DynamicSelect := chUseDynamicSelect.Checked;
|
|
|
|
GetDataTable.ClearRows(true);
|
|
if chUseDynamicSelect.Checked then begin
|
|
GetDataTable.LogicalName := 'Workers';
|
|
tri := TableRequestInfoV5.Create;
|
|
with tri do begin
|
|
IncludeSchema := true;
|
|
MaxRecords := -1;
|
|
DynamicSelectFieldNames.Add('WorkerID');
|
|
DynamicSelectFieldNames.Add('WorkerLastName');
|
|
DynamicSelectFieldNames.Add('WorkerFirstName');
|
|
DynamicSelectFieldNames.Add('WorkerPhone');
|
|
end;
|
|
SetLength(triArr, 1);
|
|
triArr[0] := tri;
|
|
ClientDataModule.RemoteDataAdapter.Fill([GetDataTable], triArr);
|
|
end
|
|
else ClientDataModule.RemoteDataAdapter.Fill([GetDataTable]);
|
|
end;
|
|
|
|
procedure TClientForm.btUpdateClick(Sender: TObject);
|
|
begin
|
|
ClientDataModule.RemoteDataAdapter.ApplyUpdates([GetDataTable]);
|
|
end;
|
|
|
|
procedure TClientForm.FormCreate(Sender: TObject);
|
|
begin
|
|
// TODO: until DynamicRequest bug fixed
|
|
//ClientDataModule.Login;
|
|
Application.Title := ClientForm.Caption;
|
|
end;
|
|
|
|
function TClientForm.GetDataSource: TDataSource;
|
|
begin
|
|
if chUseDynamicSelect.Checked
|
|
then Result := ClientDataModule.ds_Dynamic
|
|
else Result := ClientDataModule.ds_Workers;
|
|
end;
|
|
|
|
function TClientForm.GetDataTable: TDAMemDataTable;
|
|
begin
|
|
if chUseDynamicSelect.Checked
|
|
then Result := ClientDataModule.tbl_Dynamic
|
|
else Result := ClientDataModule.tbl_Workers;
|
|
end;
|
|
|
|
procedure TClientForm.chUseDynamicSelectClick(Sender: TObject);
|
|
begin
|
|
btUpdate.Click;
|
|
dgData.DataSource := GetDataSource;
|
|
btLoad.Click;
|
|
end;
|
|
|
|
end.
|