unit uViewRecibosRemesaCliente_2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uViewGrid, uViewPreview, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxImageComboBox, cxTextEdit, ImgList, PngImageList, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxImage, Grids, DBGrids, uBizRecibosCliente, cxGridCustomPopupMenu, cxGridPopupMenu, cxCalendar, cxCurrencyEdit, ComCtrls, ToolWin, dxPgsDlg, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase; type IViewRecibosRemesaCliente2 = interface(IViewGrid) ['{27D0229A-6340-4F03-B97A-7776E9166F2F}'] function GetRecibos: IBizRecibosCliente; procedure SetRecibos(const Value: IBizRecibosCliente); property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos; end; TfrViewRecibosRemesaCliente2 = class(TfrViewGrid, IViewRecibosRemesaCliente2) PngImageList: TPngImageList; cxStylePagada: TcxStyle; cxStyleAbono: TcxStyle; cxGridViewRecID: TcxGridDBColumn; cxGridViewID: TcxGridDBColumn; cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewSITUACION: TcxGridDBColumn; cxGridViewID_FACTURA: TcxGridDBColumn; cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn; cxGridViewDESCRIPCION: TcxGridDBColumn; cxGridViewOBSERVACIONES: TcxGridDBColumn; cxGridViewIMPORTE: TcxGridDBColumn; cxGridViewFECHA_FACTURA: TcxGridDBColumn; cxGridViewFORMA_PAGO_FACTURA: TcxGridDBColumn; cxGridViewIMPORTE_FACTURA: TcxGridDBColumn; cxGridViewNOMBRE_CLIENTE: TcxGridDBColumn; cxGridViewNIF_CIF_CLIENTE: TcxGridDBColumn; cxGridViewENTIDAD_CLIENTE: TcxGridDBColumn; cxGridViewSUCURSAL_CLIENTE: TcxGridDBColumn; cxGridViewDC_CLIENTE: TcxGridDBColumn; cxGridViewCUENTA_CLIENTE: TcxGridDBColumn; cxGridViewID_EMPRESA: TcxGridDBColumn; cxGridViewFECHA_ALTA: TcxGridDBColumn; cxGridViewFECHA_MODIFICACION: TcxGridDBColumn; cxGridViewUSUARIO: TcxGridDBColumn; ToolBar1: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; ActionListRecibos: TActionList; actAnadirRecibo: TAction; actEliminarRecibo: TAction; procedure cxGridViewICONOCustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); protected FNivelFiltrado : TcxFilterCriteriaItemList; FRecibos: IBizRecibosCliente; function GetRecibos: IBizRecibosCliente; procedure SetRecibos(const Value: IBizRecibosCliente); public property Recibos: IBizRecibosCliente read GetRecibos write SetRecibos; end; implementation uses uDataModuleRecibosCliente, DateUtils; {$R *.dfm} { TfrViewRecibosCliente } procedure TfrViewRecibosRemesaCliente2.cxGridViewICONOCustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); {var R : TRect;} begin inherited; { R := AViewInfo.ContentBounds; ACanvas.FillRect(R); if (Pos('-', AViewInfo.GridRecord.DisplayTexts[cxGridViewIMPORTE_TOTAL.Index]) > 0) then ACanvas.DrawImage(PngImageList, R.Left, R.Top, 3) else ACanvas.DrawImage(PngImageList, R.Left, R.Top, 2); ADone := True; } end; procedure TfrViewRecibosRemesaCliente2.cxGridViewStylesGetContentStyle( Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out AStyle: TcxStyle); {var IndiceCol: Integer; ASituacion: string;} begin inherited; { if Assigned(ARecord) then begin IndiceCol := cxGridViewSITUACION.Index; ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]); if ASituacion = SITUACION_PAGADO then AStyle := cxStylePagada; IndiceCol := cxGridViewIMPORTE_TOTAL.Index; if (Pos('-', ARecord.DisplayTexts[IndiceCol]) > 0) then AStyle := cxStyleAbono; end; } end; function TfrViewRecibosRemesaCliente2.GetRecibos: IBizRecibosCliente; begin Result := FRecibos; end; procedure TfrViewRecibosRemesaCliente2.SetRecibos(const Value: IBizRecibosCliente); begin FRecibos := Value; if Assigned(FRecibos) then dsDataSource.DataTable := FRecibos.DataTable; end; end.