{ =============================================================================== 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.