ProGestion/Modulos/Obras/Cliente/uViewPresupuestosBase.pas
2007-06-21 16:12:43 +00:00

127 lines
4.6 KiB
ObjectPascal

{
===============================================================================
Copyright (©) 2006. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los términos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versión: 22-05-2006
Versión actual: 1.0.0
Fecha versión actual: 22-05-2006
===============================================================================
Modificaciones:
Fecha Comentarios
---------------------------------------------------------------------------
===============================================================================
}
unit uViewPresupuestosBase;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk, ActnList,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
ImgList, PngImageList;
type
TfrViewPresupuestosBase = class(TfrViewGrid)
cxGridViewRecID: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewCODIGOOBRA: TcxGridDBColumn;
cxGridViewCODIGOCONTACTO: TcxGridDBColumn;
cxGridViewFECHAALTA: TcxGridDBColumn;
cxGridViewUSUARIO: TcxGridDBColumn;
cxGridViewFECHA: TcxGridDBColumn;
cxGridViewCLASE: TcxGridDBColumn;
cxGridViewACEPTADO: TcxGridDBColumn;
cxGridViewTIPO: TcxGridDBColumn;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewPRESUPUESTOINICIAL: TcxGridDBColumn;
cxGridViewPRESUPUESTOFINAL: TcxGridDBColumn;
cxGridViewAPLICARETENCION: TcxGridDBColumn;
cxGridViewRETENCION: TcxGridDBColumn;
cxGridViewTIEMPORETENCION: TcxGridDBColumn;
cxGridViewIMPORTERETENCION: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
PngImageList: TPngImageList;
cxStyleAceptado: TcxStyle;
cxStyleRechazado: TcxStyle;
procedure cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
procedure cxGridViewACEPTADOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frViewPresupuestosBase: TfrViewPresupuestosBase;
implementation
uses uDataModuleObras, uBizObra, schObrasClient_Intf;
{$R *.dfm}
procedure TfrViewPresupuestosBase.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_PresupuestosObraACEPTADO).Index;
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if StrToInt(ASituacion) = CTE_ACEPTADO then
AStyle := cxStyleAceptado
else if StrToInt(ASituacion) = CTE_NO_ACEPTADO then
AStyle := cxStyleRechazado;
end;
end;
procedure TfrViewPresupuestosBase.cxGridViewACEPTADOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
IndiceCol: Integer;
R : TRect;
begin
inherited;
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_PresupuestosObraACEPTADO).Index;
if UpperCase(AViewInfo.GridRecord.DisplayTexts[IndiceCol]) = IntToStr(CTE_ACEPTADO) then
begin
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 0);
ADone := True;
end
else
begin
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
// ACanvas.DrawImage(PngImageList, R.Left, R.Top, 1);
ADone := True;
end;
end;
end.