ProGestion/Modulos/Obras/Cliente/uViewPresupuestosBase.pas

127 lines
4.6 KiB
ObjectPascal
Raw Normal View History

{
===============================================================================
Copyright (<EFBFBD>) 2006. Rodax Software.
===============================================================================
Los contenidos de este fichero son propiedad de Rodax Software titular del
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
bajo el que se suministra.
-----------------------------------------------------------------------------
Web: www.rodax-software.com
===============================================================================
Fecha primera versi<EFBFBD>n: 22-05-2006
Versi<EFBFBD>n actual: 1.0.0
Fecha versi<EFBFBD>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.