unit uViewContratosClienteBeneficios; 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, ImgList, PngImageList, ActnList, cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, uDAInterfaces, uDADataTable, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uCustomView, uViewBase, uViewFiltroBase, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, uBizContratosCliente, cxCalendar, cxCurrencyEdit; type TfrViewContratosClienteBeneficios = class(TfrViewGrid) cxGridViewID: TcxGridDBColumn; cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewFECHA_CONTRATO: TcxGridDBColumn; cxGridViewNOMBRE: TcxGridDBColumn; cxGridViewNIF_CIF: TcxGridDBColumn; cxGridViewIMPORTE_NETO: TcxGridDBColumn; cxGridViewIMPORTE_DESCUENTO: TcxGridDBColumn; cxGridViewBASE_IMPONIBLE: TcxGridDBColumn; cxGridViewIMPORTE_FACTURAS_PROVEEDOR: TcxGridDBColumn; cxGridViewIMPORTE_BENEFICIO: TcxGridDBColumn; cxGridViewPORCENTAJE_BENEFICIO: TcxGridDBColumn; cxGridViewIMPORTE_FACTURAS_CLIENTE: TcxGridDBColumn; cxGridViewIMPORTE_BENEFICIO_REAL: TcxGridDBColumn; cxGridViewPORCENTAJE_BENEFICIO_REAL: TcxGridDBColumn; cxGridViewREFERENCIA_CLIENTE: TcxGridDBColumn; procedure CustomViewDestroy(Sender: TObject); private FContratos: IBizContratosClienteBeneficios; function GetContratos: IBizContratosClienteBeneficios; procedure SetContratos(const Value: IBizContratosClienteBeneficios); procedure AnadirFiltroFechas; public property Contratos: IBizContratosClienteBeneficios read GetContratos write SetContratos; end; var frViewContratosClienteBeneficios: TfrViewContratosClienteBeneficios; implementation {$R *.dfm} { TfrViewContratosClienteBeneficios } procedure TfrViewContratosClienteBeneficios.AnadirFiltroFechas; var Columna: TcxGridDBColumn; Fecha1, Fecha2: Variant; FFiltro : TcxFilterCriteriaItemList; begin Fecha1 := frViewFiltroBase1.edtFechaIniFiltro.EditValue; Fecha2 := frViewFiltroBase1.edtFechaFinFiltro.EditValue; if not VarIsNull(Fecha1) and not VarIsNull(Fecha2) then begin cxGridView.DataController.Filter.Options := [fcoCaseInsensitive, fcoSoftCompare]; FFiltro := AddFilterGrid(fboAnd); Columna := (cxGridView as TcxGridDBTableView).GetColumnByFieldName('FECHA_CONTRATO'); FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2)); end; end; procedure TfrViewContratosClienteBeneficios.CustomViewDestroy(Sender: TObject); begin FContratos := NIL; inherited; end; function TfrViewContratosClienteBeneficios.GetContratos: IBizContratosClienteBeneficios; begin Result := FContratos; end; procedure TfrViewContratosClienteBeneficios.SetContratos(const Value: IBizContratosClienteBeneficios); begin FContratos := Value; dsDataSource.DataTable := FContratos.DataTable; end; end.