This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Montajes/Cliente/uViewMontajes.pas
2007-06-21 15:59:26 +00:00

132 lines
4.1 KiB
ObjectPascal

unit uViewMontajes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid, uBizMontajes, ActnList, Menus,
cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGridLnk;
type
IViewMontajes = interface(IViewGrid)
['{78CB7E94-7AE3-4445-9A9C-C4CE27A8A21F}']
function GetMontajes: IBizMontaje;
procedure SetMontajes(const Value: IBizMontaje);
property Montajes: IBizMontaje read GetMontajes write SetMontajes;
end;
TfrViewMontajes = class(TfrViewGrid, IViewMontajes)
PngImageList: TPngImageList;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewCODIGOEMPRESA: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewFECHAALTA: TcxGridDBColumn;
cxGridViewUSUARIO: TcxGridDBColumn;
cxGridViewFECHAINICIO: TcxGridDBColumn;
cxGridViewFECHAFIN: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewOBSERVACIONES: TcxGridDBColumn;
cxGridViewCODIGOPRESUPUESTO: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewCODIGOCONTACTO: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
cxGridLevel2: TcxGridLevel;
procedure cxGridViewCODIGOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid;
ALevel: TcxGridLevel);
protected
FNivelFiltrado : TcxFilterCriteriaItemList;
FMontajes: IBizMontaje;
function GetMontajes: IBizMontaje; virtual;
procedure SetMontajes(const Value: IBizMontaje); virtual;
procedure FilterChanged(Sender : TObject); override;
public
property DataSet: IBizMontaje read GetMontajes write SetMontajes;
end;
var
frViewMontajes: TfrViewMontajes;
implementation
uses uDataModuleMontajes;
{$R *.dfm}
{ TfrViewClientes }
{
******************************* TfrViewMontajes *******************************
}
function TfrViewMontajes.GetMontajes: IBizMontaje;
begin
Result := FMontajes;
end;
procedure TfrViewMontajes.SetMontajes(const Value: IBizMontaje);
begin
FMontajes := Value;
if Assigned(FMontajes) then
DADataSource.DataTable := FMontajes.DataTable;
end;
procedure TfrViewMontajes.cxGridViewCODIGOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
R : TRect;
begin
inherited;
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 0);
ADone := True;
end;
procedure TfrViewMontajes.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
procedure TfrViewMontajes.FilterChanged(Sender: TObject);
var
AItemList: TcxFilterCriteriaItemList;
AItemList2: TcxFilterCriteriaItemList;
begin
inherited;
cxGridView.DataController.Filter.BeginUpdate;
AItemList := cxGridView.DataController.Filter.Root;
AItemList2 := AItemList.AddItemList(fboAnd);
FNivelFiltrado := AItemList2;
case cxGrid.ActiveLevel.Index of
1 : AItemList2.AddItem(cxGridViewSITUACION, foNotEqual, SITUACION_PAGADO, SITUACION_PAGADO);
2 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PAGADO, SITUACION_PAGADO);
end;
AItemList := AItemList2;
if cxGridView.DataController.Filter.IsEmpty
then cxGridView.DataController.Filter.Active := False
else cxGridView.DataController.Filter.Active := True;
cxGridView.DataController.Filter.EndUpdate;
cxGrid.ActiveLevel.GridView := cxGridView;
end;
end.