git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
256 lines
7.9 KiB
ObjectPascal
256 lines
7.9 KiB
ObjectPascal
unit uMasterDetail;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uBase, IWHTMLControls, IWCompLabel, IWControl, IWCompRectangle,
|
|
IWCompCheckbox, IWCompEdit, IWCompMemo, IWGrids, IWDBGrids, DB, MemDS,
|
|
DBAccess, MSAccess, IWDBStdCtrls, IWCompButton, IWContainer, IWRegion,
|
|
IWVCLBaseContainer, IWHTMLContainer, IWVCLBaseControl, IWBaseControl,
|
|
IWBaseHTMLControl;
|
|
|
|
type
|
|
TfmMasterDetail = class(TfmBase)
|
|
cbLocalMasterDetail: TIWCheckBox;
|
|
IWLabel1: TIWLabel;
|
|
IWLabel2: TIWLabel;
|
|
edMasterFields: TIWEdit;
|
|
IWDBGrid1: TIWDBGrid;
|
|
IWDBGrid2: TIWDBGrid;
|
|
IWLabel3: TIWLabel;
|
|
IWLabel4: TIWLabel;
|
|
edDetailFields: TIWEdit;
|
|
IWDBNavigator1: TIWDBNavigator;
|
|
quMaster: TMSQuery;
|
|
quDetail: TMSQuery;
|
|
dsMaster: TDataSource;
|
|
dsDetail: TDataSource;
|
|
cbCachedCalcFields: TIWCheckBox;
|
|
btOpen: TIWButton;
|
|
btClose: TIWButton;
|
|
IWRegion1: TIWRegion;
|
|
IWRegion2: TIWRegion;
|
|
IWRegion3: TIWRegion;
|
|
IWRectangle1: TIWRectangle;
|
|
IWRectangle2: TIWRectangle;
|
|
IWRectangle3: TIWRectangle;
|
|
lbResult: TIWLabel;
|
|
IWRegion4: TIWRegion;
|
|
meMaster: TIWMemo;
|
|
IWRegion5: TIWRegion;
|
|
meDetail: TIWMemo;
|
|
procedure IWAppFormCreate(Sender: TObject);
|
|
procedure btOpenClick(Sender: TObject);
|
|
procedure IWAppFormRender(Sender: TObject);
|
|
procedure btCloseClick(Sender: TObject);
|
|
procedure IWDBNavigator1Refresh(Sender: TObject);
|
|
protected
|
|
procedure ReadFromControls; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
ServerController, StdConvs;
|
|
|
|
procedure TfmMasterDetail.IWAppFormCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
quMaster.Connection := DM.Connection;
|
|
quDetail.Connection := DM.Connection;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.btOpenClick(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
UserSession.IsGoodMasterDetail := False;
|
|
try
|
|
quMaster.SQL.Text := UserSession.MasterSQL;
|
|
quDetail.SQL.Text := UserSession.DetailSQL;
|
|
quDetail.MasterFields := UserSession.MasterFields;
|
|
quDetail.DetailFields := UserSession.DetailFields;
|
|
quMaster.Options.LocalMasterDetail := UserSession.LocalMasterDetail;
|
|
quDetail.Options.LocalMasterDetail := UserSession.LocalMasterDetail;
|
|
quMaster.Options.CacheCalcFields := UserSession.CacheCalcFields;
|
|
quDetail.Options.CacheCalcFields := UserSession.CacheCalcFields;
|
|
quMaster.Open;
|
|
quDetail.Open;
|
|
UserSession.IsGoodMasterDetail := True;
|
|
UserSession.MasterDetailResult := 'Tables are opened';
|
|
except
|
|
on E:Exception do
|
|
UserSession.MasterDetailResult := 'Error: '+ E.Message;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.btCloseClick(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
quMaster.Close;
|
|
quDetail.Close;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.IWAppFormRender(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
cbLocalMasterDetail.Checked := UserSession.LocalMasterDetail;
|
|
cbCachedCalcFields.Checked := UserSession.CacheCalcFields;
|
|
edMasterFields.Text := UserSession.MasterFields;
|
|
edDetailFields.Text := UserSession.DetailFields;
|
|
meMaster.Lines.Text := UserSession.MasterSQL;
|
|
meDetail.Lines.Text := UserSession.DetailSQL;
|
|
IWDBGrid1.Visible := quMaster.Active;
|
|
IWDBNavigator1.Enabled := quMaster.Active;
|
|
IWDBGrid2.Visible := quDetail.Active;
|
|
lbResult.Font.Color := ResultColors[UserSession.IsGoodMasterDetail];
|
|
lbResult.Caption := UserSession.MasterDetailResult;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.ReadFromControls;
|
|
begin
|
|
inherited;
|
|
UserSession.LocalMasterDetail := cbLocalMasterDetail.Checked;
|
|
UserSession.CacheCalcFields := cbCachedCalcFields.Checked;
|
|
UserSession.MasterFields := edMasterFields.Text;
|
|
UserSession.DetailFields := edDetailFields.Text;
|
|
UserSession.MasterSQL := meMaster.Lines.Text;
|
|
UserSession.DetailSQL := meDetail.Lines.Text;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.IWDBNavigator1Refresh(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
end;
|
|
|
|
end.
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uBase, IWHTMLControls, IWCompLabel, IWControl, IWCompRectangle,
|
|
IWCompCheckbox, IWCompEdit, IWCompMemo, IWGrids, IWDBGrids, DB, MemDS,
|
|
DBAccess, MSAccess, IWDBStdCtrls, IWCompButton, IWContainer, IWRegion,
|
|
IWVCLBaseContainer, IWHTMLContainer, IWVCLBaseControl, IWBaseControl,
|
|
IWBaseHTMLControl;
|
|
|
|
type
|
|
TfmMasterDetail = class(TfmBase)
|
|
cbLocalMasterDetail: TIWCheckBox;
|
|
IWLabel1: TIWLabel;
|
|
IWLabel2: TIWLabel;
|
|
edMasterFields: TIWEdit;
|
|
IWDBGrid1: TIWDBGrid;
|
|
IWDBGrid2: TIWDBGrid;
|
|
IWLabel3: TIWLabel;
|
|
IWLabel4: TIWLabel;
|
|
edDetailFields: TIWEdit;
|
|
IWDBNavigator1: TIWDBNavigator;
|
|
quMaster: TMSQuery;
|
|
quDetail: TMSQuery;
|
|
dsMaster: TDataSource;
|
|
dsDetail: TDataSource;
|
|
cbCachedCalcFields: TIWCheckBox;
|
|
btOpen: TIWButton;
|
|
btClose: TIWButton;
|
|
IWRegion1: TIWRegion;
|
|
IWRegion2: TIWRegion;
|
|
IWRegion3: TIWRegion;
|
|
IWRectangle1: TIWRectangle;
|
|
IWRectangle2: TIWRectangle;
|
|
IWRectangle3: TIWRectangle;
|
|
lbResult: TIWLabel;
|
|
IWRegion4: TIWRegion;
|
|
meMaster: TIWMemo;
|
|
IWRegion5: TIWRegion;
|
|
meDetail: TIWMemo;
|
|
procedure IWAppFormCreate(Sender: TObject);
|
|
procedure btOpenClick(Sender: TObject);
|
|
procedure IWAppFormRender(Sender: TObject);
|
|
procedure btCloseClick(Sender: TObject);
|
|
procedure IWDBNavigator1Refresh(Sender: TObject);
|
|
protected
|
|
procedure ReadFromControls; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses
|
|
ServerController, StdConvs;
|
|
|
|
procedure TfmMasterDetail.IWAppFormCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
quMaster.Connection := DM.Connection;
|
|
quDetail.Connection := DM.Connection;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.btOpenClick(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
UserSession.IsGoodMasterDetail := False;
|
|
try
|
|
quMaster.SQL.Text := UserSession.MasterSQL;
|
|
quDetail.SQL.Text := UserSession.DetailSQL;
|
|
quDetail.MasterFields := UserSession.MasterFields;
|
|
quDetail.DetailFields := UserSession.DetailFields;
|
|
quMaster.Options.LocalMasterDetail := UserSession.LocalMasterDetail;
|
|
quDetail.Options.LocalMasterDetail := UserSession.LocalMasterDetail;
|
|
quMaster.Options.CacheCalcFields := UserSession.CacheCalcFields;
|
|
quDetail.Options.CacheCalcFields := UserSession.CacheCalcFields;
|
|
quMaster.Open;
|
|
quDetail.Open;
|
|
UserSession.IsGoodMasterDetail := True;
|
|
UserSession.MasterDetailResult := 'Tables are opened';
|
|
except
|
|
on E:Exception do
|
|
UserSession.MasterDetailResult := 'Error: '+ E.Message;
|
|
end;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.btCloseClick(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
quMaster.Close;
|
|
quDetail.Close;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.IWAppFormRender(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
cbLocalMasterDetail.Checked := UserSession.LocalMasterDetail;
|
|
cbCachedCalcFields.Checked := UserSession.CacheCalcFields;
|
|
edMasterFields.Text := UserSession.MasterFields;
|
|
edDetailFields.Text := UserSession.DetailFields;
|
|
meMaster.Lines.Text := UserSession.MasterSQL;
|
|
meDetail.Lines.Text := UserSession.DetailSQL;
|
|
IWDBGrid1.Visible := quMaster.Active;
|
|
IWDBNavigator1.Enabled := quMaster.Active;
|
|
IWDBGrid2.Visible := quDetail.Active;
|
|
lbResult.Font.Color := ResultColors[UserSession.IsGoodMasterDetail];
|
|
lbResult.Caption := UserSession.MasterDetailResult;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.ReadFromControls;
|
|
begin
|
|
inherited;
|
|
UserSession.LocalMasterDetail := cbLocalMasterDetail.Checked;
|
|
UserSession.CacheCalcFields := cbCachedCalcFields.Checked;
|
|
UserSession.MasterFields := edMasterFields.Text;
|
|
UserSession.DetailFields := edDetailFields.Text;
|
|
UserSession.MasterSQL := meMaster.Lines.Text;
|
|
UserSession.DetailSQL := meDetail.Lines.Text;
|
|
end;
|
|
|
|
procedure TfmMasterDetail.IWDBNavigator1Refresh(Sender: TObject);
|
|
begin
|
|
ReadFromControls;
|
|
end;
|
|
|
|
end.
|