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/Presupuestos_/Cliente/uViewPresupuestos.pas
2007-06-21 16:02:50 +00:00

136 lines
4.8 KiB
ObjectPascal

unit uViewPresupuestos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewGrid, uViewPreview, frxClass, frxPreview, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB,
cxDBData, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, uBizPresupuestosCliente, StdCtrls, ExtCtrls,
cxLabel, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxIntlPrintSys3,
dxPSCore, dxPScxCommon, dxPScxGridLnk, cxImage, cxImageComboBox, ImgList,
PngImageList, cxTextEdit, Grids, DBGrids;
type
IViewPresupuestos = interface(IViewGrid)
['{8C0A5647-E0E7-40CD-80EC-88DD46383368}']
function GetPresupuestos: IBizPresupuestos;
procedure SetPresupuestos(const Value: IBizPresupuestos);
property Presupuestos: IBizPresupuestos read GetPresupuestos write
SetPresupuestos;
end;
TfrViewPresupuestos = class(TfrViewGrid, IViewPresupuestos)
cxGridDBTableView1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridLevel2: TcxGridLevel;
cxGridLevel3: TcxGridLevel;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewICONO: TcxGridDBColumn;
cxGridViewFECHAPRESUPUESTO: TcxGridDBColumn;
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewVIGENCIAPRESUPUESTO: TcxGridDBColumn;
PngImageList: TPngImageList;
cxStyleRechazado: TcxStyle;
cxStyleAceptado: TcxStyle;
cxGridViewTIPO: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var
ADone: Boolean);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
protected
FPresupuestos: IBizPresupuestos;
function GetPresupuestos: IBizPresupuestos;
procedure SetPresupuestos(const Value: IBizPresupuestos);
public
property Presupuestos: IBizPresupuestos read GetPresupuestos write
SetPresupuestos;
end;
var
frViewPresupuestos: TfrViewPresupuestos;
implementation
uses uDataModulePresupuestos, schPresupuestosClient_Intf;
{$R *.dfm}
procedure TfrViewPresupuestos.cxGridActiveTabChanged(Sender: TcxCustomGrid;
ALevel: TcxGridLevel);
var
AItemList: TcxFilterCriteriaItemList;
begin
inherited;
cxGridView.DataController.Filter.BeginUpdate;
cxGridView.DataController.Filter.Clear;
case ALevel.Index of
1 : cxGridView.DataController.Filter.Root.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PENDIENTE, SITUACION_PENDIENTE);
2 : cxGridView.DataController.Filter.Root.AddItem(cxGridViewSITUACION, foEqual, SITUACION_ACEPTADO, SITUACION_ACEPTADO);
3 : cxGridView.DataController.Filter.Root.AddItem(cxGridViewSITUACION, foEqual, SITUACION_RECHAZADO, SITUACION_RECHAZADO);
end;
if not cxGridView.DataController.Filter.IsEmpty then
cxGridView.DataController.Filter.Active := True;
cxGridView.DataController.Filter.EndUpdate;
ALevel.GridView := cxGridView;
end;
procedure TfrViewPresupuestos.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, 2);
ADone := True;
end;
procedure TfrViewPresupuestos.cxGridViewStylesGetContentStyle(Sender:
TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem:
TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol: Integer;
ASituacion: string;
begin
inherited;
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosSITUACION).Index;
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if ASituacion = SITUACION_ACEPTADO then
AStyle := cxStyleAceptado
else if ASituacion = SITUACION_RECHAZADO then
AStyle := cxStyleRechazado;
end;
end;
function TfrViewPresupuestos.GetPresupuestos: IBizPresupuestos;
begin
Result := FPresupuestos;
end;
procedure TfrViewPresupuestos.SetPresupuestos(const Value: IBizPresupuestos);
begin
FPresupuestos := Value;
if Assigned(FPresupuestos) then
DADataSource.DataTable := FPresupuestos.DataTable;
end;
end.