Componentes.Terceros.RemObj.../internal/6.0.43.801/1/RemObjects Samples/Data Abstract for Delphi/Union Tables/fClientForm.pas
2010-01-29 16:17:43 +00:00

107 lines
2.8 KiB
ObjectPascal

unit fClientForm;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,
uROClient, uROClientIntf, uRORemoteService, uROBinMessage, Grids, DBGrids,
uROPoweredByRemObjectsButton, uDAPoweredByDataAbstractButton, ExtCtrls;
type
TClientForm = class(TForm)
Panel1: TPanel;
DAPoweredByDataAbstractButton1: TDAPoweredByDataAbstractButton;
Label1: TLabel;
cbInsertTo: TComboBox;
Label2: TLabel;
edFilter: TEdit;
chFilterOn: TCheckBox;
Panel2: TPanel;
btLoad: TButton;
btInsert: TButton;
btUpdate: TButton;
btDelete: TButton;
dgData: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure btLoadClick(Sender: TObject);
procedure chFilterOnClick(Sender: TObject);
procedure btInsertClick(Sender: TObject);
procedure btUpdateClick(Sender: TObject);
procedure btDeleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ClientForm: TClientForm;
implementation
uses
fClientDataModule, uDAInterfaces, DB;
{$R *.dfm}
procedure TClientForm.btDeleteClick(Sender: TObject);
begin
with ClientDataModule.tbl_UnionAddresses do
if RecordCount > 0 then Delete;
end;
procedure TClientForm.btInsertClick(Sender: TObject);
var
id: TGUID;
begin
CreateGUID(id);
ClientDataModule.tbl_UnionAddresses.AddRecord(
['Id', 'Name', 'ContactPhone', 'ContactAddress', '@SourceTable'],
[GuidToString(id), 'John Doe', '(000)111-222-333', 'Planet Earth', cbInsertTo.ItemIndex]);
end;
procedure TClientForm.btLoadClick(Sender: TObject);
var
exp: TDAWhereExpression;
expArr: array of TDAWhereExpression;
wb: TDAWhereBuilder;
begin
with ClientDataModule do begin
tbl_UnionAddresses.ClearRows(true);
if chFilterOn.Checked and (Trim(edFilter.Text) <> '') then begin
wb := TDAWhereBuilder.Create;
exp := wb.NewBinaryExpression(
wb.NewField(tbl_UnionAddresses.LogicalName, 'Name'),
wb.NewConstant('%' + Trim(edFilter.Text) + '%', datString),
dboLike);
SetLength(expArr, 1);
expArr[0] := exp;
RemoteDataAdapter.Fill([tbl_UnionAddresses], expArr);
wb.Free;
end
else RemoteDataAdapter.Fill([tbl_UnionAddresses]);
end;
end;
procedure TClientForm.btUpdateClick(Sender: TObject);
begin
with ClientDataModule do begin
if tbl_UnionAddresses.State <> dsBrowse then tbl_UnionAddresses.Post;
RemoteDataAdapter.ApplyUpdates([tbl_UnionAddresses]);
end;
end;
procedure TClientForm.chFilterOnClick(Sender: TObject);
begin
btLoad.Click;
end;
procedure TClientForm.FormCreate(Sender: TObject);
begin
Application.Title := ClientForm.Caption;
// TODO: until DynamicRequest bug fixed
//ClientDataModule.Login;
end;
end.