git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES/trunk@248 c93665c3-c93d-084d-9b98-7d5f4a9c3376
285 lines
8.8 KiB
ObjectPascal
285 lines
8.8 KiB
ObjectPascal
{*******************************************************}
|
|
{ }
|
|
{ Administración de puntos de venta }
|
|
{ }
|
|
{ Copyright (C) 2006 Rodax Software S.L. }
|
|
{ }
|
|
{*******************************************************}
|
|
|
|
unit uViewInformeBaseGrid;
|
|
|
|
interface
|
|
|
|
uses
|
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|
Dialogs, uViewBase, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
|
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
dxPSEdgePatterns, dxPSCore, ActnList, uDADataTable, cxGridLevel,
|
|
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
|
|
cxGridTableView, cxGridDBTableView, cxGrid, dxPScxCommon, dxPScxGrid6Lnk,
|
|
dxPgsDlg;
|
|
|
|
type
|
|
IViewInformeBaseGrid = interface(IViewBase)
|
|
['{35BD610D-3BCF-4496-BA98-B86A7821CEFC}']
|
|
procedure ExpandirTodo;
|
|
procedure ContraerTodo;
|
|
procedure AjustarAncho;
|
|
procedure Preview;
|
|
procedure Print;
|
|
procedure PrintSetup;
|
|
procedure GotoFirst;
|
|
procedure GotoLast;
|
|
|
|
function GetColumnByCaption (const ACaption : String): TcxGridDBColumn;
|
|
|
|
function GetFocusedView : TcxGridDBTableView;
|
|
property FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
|
|
function GetColumnCount: Integer;
|
|
function GetColumns(Index: Integer): TcxGridDBColumn;
|
|
property Columns[Index: Integer] : TcxGridDBColumn read GetColumns;
|
|
property ColumnCount : Integer read GetColumnCount;
|
|
|
|
function GetGroupedColumnCount: Integer;
|
|
function GetGroupedColumns(index: Integer): TcxGridColumn;
|
|
property GroupedColumns[Index: Integer] : TcxGridColumn read GetGroupedColumns;
|
|
property GroupedColumnCount : Integer read GetGroupedColumnCount;
|
|
|
|
function GetOnViewChanged : TNotifyEvent;
|
|
procedure SetOnViewChanged(const Value : TNotifyEvent);
|
|
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
|
|
|
|
function GetViewProperties: String;
|
|
procedure SetViewProperties(const Value: String);
|
|
property ViewProperties: String read GetViewProperties write SetViewProperties;
|
|
|
|
function GetFilterValueList(index: Integer) : TStringList;
|
|
property FilterValueList[Index : Integer]: TStringList read GetFilterValueList;
|
|
|
|
function GetOnFilterChanged: TNotifyEvent;
|
|
procedure SetOnFilterChanged(const Value: TNotifyEvent);
|
|
property OnFilterChanged: TNotifyEvent read GetOnFilterChanged write SetOnFilterChanged;
|
|
end;
|
|
|
|
TfrViewInformeBaseGrid = class(TfrViewBase, IViewInformeBaseGrid)
|
|
dxPrintStyleManager1: TdxPrintStyleManager;
|
|
dxPrintStyleManager1Style1: TdxPSPrintStyle;
|
|
dxPageSetupDialog1: TdxPageSetupDialog;
|
|
dxPSEngineController1: TdxPSEngineController;
|
|
dxComponentPrinter: TdxComponentPrinter;
|
|
dxPrinterLinkcxGrid: TdxGridReportLink;
|
|
cxStyleRepositoryInforme: TcxStyleRepository;
|
|
cxStyleContentInforme: TcxStyle;
|
|
cxStyleFooterInforme: TcxStyle;
|
|
cxStyleGroupInforme: TcxStyle;
|
|
cxStyleHeaderInforme: TcxStyle;
|
|
cxStyleSelectionInforme: TcxStyle;
|
|
private
|
|
protected
|
|
FOnViewChanged : TNotifyEvent;
|
|
FOnFilterChanged : TNotifyEvent;
|
|
function GetColumnCount: Integer;
|
|
function GetColumns(Index: Integer): TcxGridDBColumn;
|
|
function GetGroupedColumnCount: Integer;
|
|
function GetGroupedColumns(Index: Integer): TcxGridColumn;
|
|
function GetFocusedView : TcxGridDBTableView; virtual; abstract;
|
|
function GetColumnByCaption (const ACaption : String): TcxGridDBColumn;
|
|
function GetOnViewChanged : TNotifyEvent; virtual;
|
|
procedure SetOnViewChanged(const Value : TNotifyEvent); virtual;
|
|
function GetOnFilterChanged: TNotifyEvent; virtual;
|
|
procedure SetOnFilterChanged(const Value: TNotifyEvent); virtual;
|
|
function GetViewProperties: String; virtual;
|
|
procedure SetViewProperties(const Value: String); virtual;
|
|
function GetFilterValueList(index: Integer) : TStringList; virtual;
|
|
procedure ActivarEventos; virtual;
|
|
procedure DesactivarEventos; virtual;
|
|
public
|
|
procedure Preview; virtual;
|
|
procedure Print; virtual;
|
|
procedure PrintSetup; virtual;
|
|
procedure GotoFirst; virtual;
|
|
procedure GotoLast; virtual;
|
|
procedure ExpandirTodo; virtual;
|
|
procedure ContraerTodo; virtual;
|
|
procedure AjustarAncho; virtual;
|
|
property FocusedView : TcxGridDBTableView read GetFocusedView;
|
|
property Columns[Index: Integer] : TcxGridDBColumn read GetColumns;
|
|
property ColumnCount : Integer read GetColumnCount;
|
|
property GroupedColumns[Index: Integer] : TcxGridColumn read GetGroupedColumns;
|
|
property GroupedColumnCount : Integer read GetGroupedColumnCount;
|
|
property OnViewChanged: TNotifyEvent read GetOnViewChanged write SetOnViewChanged;
|
|
property OnFilterChanged: TNotifyEvent read GetOnFilterChanged write SetOnFilterChanged;
|
|
property ViewProperties: String read GetViewProperties write SetViewProperties;
|
|
property FilterValueList[Index : Integer]: TStringList read GetFilterValueList;
|
|
constructor Create(AOwner: TComponent); override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewInformeBaseGrid }
|
|
|
|
procedure TfrViewInformeBaseGrid.ActivarEventos;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.AjustarAncho;
|
|
begin
|
|
FocusedView.ApplyBestFit;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.ContraerTodo;
|
|
begin
|
|
FocusedView.ViewData.Collapse(True);
|
|
end;
|
|
|
|
constructor TfrViewInformeBaseGrid.Create(AOwner: TComponent);
|
|
begin
|
|
inherited;
|
|
FOnViewChanged := nil;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.DesactivarEventos;
|
|
begin
|
|
//
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.ExpandirTodo;
|
|
begin
|
|
FocusedView.ViewData.Expand(True);
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetColumnByCaption(
|
|
const ACaption: String): TcxGridDBColumn;
|
|
var
|
|
i : integer;
|
|
begin
|
|
Result := NIL;
|
|
for i := 0 to FocusedView.ColumnCount - 1 do
|
|
if FocusedView.Columns[i].Caption = ACaption then
|
|
begin
|
|
Result := FocusedView.Columns[i];
|
|
Break;
|
|
end;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetColumnCount: Integer;
|
|
begin
|
|
Result := FocusedView.ColumnCount;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetColumns(Index: Integer): TcxGridDBColumn;
|
|
begin
|
|
Result := FocusedView.Columns[Index];
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetFilterValueList(
|
|
index: Integer): TStringList;
|
|
var
|
|
AValueList : TcxDataFilterValueList;
|
|
i : Integer;
|
|
begin
|
|
Result := TStringList.Create;
|
|
AValueList := TcxDataFilterValueList.Create(FocusedView.DataController.Filter);
|
|
try
|
|
AValueList.Load(Columns[Index].Index);
|
|
for i := 0 to AValueList.Count - 1 do
|
|
Result.Add(AValueList[i].DisplayText);
|
|
finally
|
|
FreeAndNil(AValueList);
|
|
end;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetGroupedColumnCount: Integer;
|
|
begin
|
|
Result := FocusedView.GroupedColumnCount;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetGroupedColumns(
|
|
Index: Integer): TcxGridColumn;
|
|
begin
|
|
Result := FocusedView.GroupedColumns[Index];
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetOnFilterChanged: TNotifyEvent;
|
|
begin
|
|
Result := FOnFilterChanged;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetOnViewChanged: TNotifyEvent;
|
|
begin
|
|
Result := FOnViewChanged;
|
|
end;
|
|
|
|
function TfrViewInformeBaseGrid.GetViewProperties: String;
|
|
var
|
|
AStream : TStringStream;
|
|
begin
|
|
DesactivarEventos;
|
|
AStream := TStringStream.Create('');
|
|
try
|
|
FocusedView.StoreToStream(AStream, [gsoUseFilter,gsoUseSummary], FocusedView.Name);
|
|
Result := AStream.DataString;
|
|
finally
|
|
AStream.Free;
|
|
ActivarEventos;
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.GotoFirst;
|
|
begin
|
|
FocusedView.DataController.GotoFirst;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.GotoLast;
|
|
begin
|
|
FocusedView.DataController.GotoLast;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.Preview;
|
|
begin
|
|
dxPrinterLinkcxGrid.Preview;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.Print;
|
|
begin
|
|
dxPrinterLinkcxGrid.Print(True, nil);
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.PrintSetup;
|
|
begin
|
|
dxPrinterLinkcxGrid.PageSetup;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.SetOnFilterChanged(const Value: TNotifyEvent);
|
|
begin
|
|
FOnFilterChanged := Value;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.SetOnViewChanged(const Value: TNotifyEvent);
|
|
begin
|
|
FOnViewChanged := Value;
|
|
end;
|
|
|
|
procedure TfrViewInformeBaseGrid.SetViewProperties(const Value: String);
|
|
var
|
|
AStream : TStringStream;
|
|
begin
|
|
DesactivarEventos;
|
|
AStream := TStringStream.Create(Value);
|
|
try
|
|
AStream.Position := 0;
|
|
FocusedView.RestoreFromStream(AStream, True, True, [gsoUseFilter,gsoUseSummary],
|
|
FocusedView.Name);
|
|
finally
|
|
AStream.Free;
|
|
ActivarEventos;
|
|
end;
|
|
end;
|
|
|
|
end.
|