git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SDAC@3 6f543ec7-021b-7e4c-98c9-62eafc7fb9a8
138 lines
3.4 KiB
ObjectPascal
138 lines
3.4 KiB
ObjectPascal
//////////////////////////////////////////////////
|
|
// DB Access Components
|
|
// Copyright © 1998-2007 Core Lab. All right reserved.
|
|
// Base Component Editor
|
|
//////////////////////////////////////////////////
|
|
|
|
{$IFNDEF CLR}
|
|
|
|
{$I Dac.inc}
|
|
|
|
unit DADataEditor;
|
|
{$ENDIF}
|
|
|
|
interface
|
|
uses
|
|
{$IFDEF MSWINDOWS}
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, DBGrids, Dialogs,
|
|
StdCtrls, ExtCtrls, Buttons, ComCtrls, Grids, DBCtrls,
|
|
{$ENDIF}
|
|
{$IFDEF LINUX}
|
|
SysUtils, Types, Classes, QGraphics, QControls, QForms, QDBGrids, QDialogs, QStdCtrls,
|
|
QExtCtrls, QButtons, QDBCtrls, QComCtrls, QGrids,
|
|
{$ENDIF}
|
|
DB, CRDataEditor, DBAccess, DADesignUtils;
|
|
|
|
type
|
|
TDADataEditorForm = class(TCRDataEditorForm)
|
|
btOpen: TSpeedButton;
|
|
btnExit: TSpeedButton;
|
|
btSaveToFile: TSpeedButton;
|
|
SaveDialog: TSaveDialog;
|
|
procedure btOpenClick(Sender: TObject);
|
|
procedure btCloseClick(Sender: TObject);
|
|
procedure btSaveToFileClick(Sender: TObject);
|
|
private
|
|
// fields to store old DataSet properties
|
|
FOldAutoCommit: boolean;
|
|
FOldFilterOptions: TFilterOptions;
|
|
FOldFilterSQL: string;
|
|
FOldSQL: string;
|
|
FOldActive: boolean;
|
|
FOldFilter: string;
|
|
FOldFiltered: boolean;
|
|
protected
|
|
procedure DoInit; override;
|
|
procedure DoSave; override;
|
|
procedure DoFinish; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$IFDEF IDE}
|
|
{$R *.dfm}
|
|
{$ENDIF}
|
|
{$IFDEF MSWINDOWS}
|
|
{$R DADataEditor.dfm}
|
|
{$ENDIF}
|
|
{$IFDEF LINUX}
|
|
{$R *.xfm}
|
|
{$ENDIF}
|
|
|
|
uses
|
|
{$IFDEF CLR}
|
|
Variants,
|
|
{$ENDIF}
|
|
TypInfo;
|
|
|
|
{ TDADataEditorForm }
|
|
|
|
procedure TDADataEditorForm.DoInit;
|
|
begin
|
|
inherited;
|
|
|
|
FOldAutoCommit := TDBAccessUtils.GetAutoCommit(TCustomDADataSet(FDataSet));
|
|
FOldFilterOptions := TCustomDADataSet(FDataSet).FilterOptions;
|
|
FOldFilterSQL := TCustomDADataSet(FDataSet).FilterSQL;
|
|
FOldSQL := TCustomDADataSet(FDataSet).SQL.Text;
|
|
FOldActive := FDataSet.Active;
|
|
TDBAccessUtils.SetAutoCommit(TCustomDADataSet(FDataSet), True);
|
|
FOldFilter := FDataSet.Filter;
|
|
FOldFiltered := FDataSet.Filtered;
|
|
FOldActive := FDataSet.Active;
|
|
try
|
|
FDataSet.Open;
|
|
except
|
|
Application.HandleException(Self);
|
|
end;
|
|
btOpen.Enabled := not FDataSet.Active;
|
|
btClose.Enabled := FDataSet.Active;
|
|
end;
|
|
|
|
procedure TDADataEditorForm.DoSave;
|
|
begin
|
|
end;
|
|
|
|
procedure TDADataEditorForm.DoFinish;
|
|
begin
|
|
TDBAccessUtils.SetAutoCommit(TCustomDADataSet(FDataSet), FOldAutoCommit);
|
|
TCustomDADataSet(FDataSet).FilterOptions := FOldFilterOptions;
|
|
TCustomDADataSet(FDataSet).FilterSQL := FOldFilterSQL;
|
|
if TCustomDADataSet(FDataSet).SQL.Text <> FOldSQL then
|
|
TCustomDADataSet(FDataSet).SQL.Text := FOldSQL;
|
|
FDataSet.Filter := FOldFilter;
|
|
FDataSet.Filtered := FOldFiltered;
|
|
FDataSet.Active := FOldActive;
|
|
|
|
inherited;
|
|
end;
|
|
|
|
procedure TDADataEditorForm.btOpenClick(Sender: TObject);
|
|
begin
|
|
FDataSet.Open;
|
|
btOpen.Enabled := not FDataSet.Active;
|
|
btClose.Enabled := FDataSet.Active;
|
|
end;
|
|
|
|
procedure TDADataEditorForm.btCloseClick(Sender: TObject);
|
|
begin
|
|
FDataSet.Close;
|
|
btOpen.Enabled := not FDataSet.Active;
|
|
btClose.Enabled := FDataSet.Active;
|
|
end;
|
|
|
|
procedure TDADataEditorForm.btSaveToFileClick(Sender: TObject);
|
|
begin
|
|
if SaveDialog.Execute then
|
|
FDataSet.SaveToXML(SaveDialog.FileName);
|
|
end;
|
|
|
|
{$IFDEF CLR}
|
|
|
|
initialization
|
|
|
|
RegisterClass(TDBGrid);
|
|
{$ENDIF}
|
|
|
|
end.
|