This repository has been archived on 2024-12-02. You can view files and clone it, but cannot push or open issues or pull requests.
AlonsoYSal_FactuGES/Modulos/Pagos/Cliente/uViewPagos.pas
2007-06-21 16:02:50 +00:00

135 lines
4.0 KiB
ObjectPascal

unit uViewPagos;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGrid, ActnList, Menus,
cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGridLnk,
uBizPagos, uViewFiltroBase;
type
IViewPagos = interface(IViewGrid)
['{A407C7DD-49D2-4710-97AC-FA76AA91CEA6}']
function GetPagos: IBizPagos;
procedure SetPagos(const Value: IBizPagos);
property Pagos: IBizPagos read GetPagos write SetPagos;
end;
TfrViewPagos = class(TfrViewGrid, IViewPagos)
PngImageList: TPngImageList;
cxGridViewRecID: TcxGridDBColumn;
cxGridViewCODIGOEMPRESA: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewFECHAALTA: TcxGridDBColumn;
cxGridViewUSUARIO: TcxGridDBColumn;
cxGridViewCUENTA: TcxGridDBColumn;
cxGridViewIMPORTE: TcxGridDBColumn;
cxGridViewFORMAPAGO: TcxGridDBColumn;
cxGridViewDESCRIPCION: TcxGridDBColumn;
cxGridViewFECHAPAGO: TcxGridDBColumn;
cxGridViewFECHAMODIFICACION: TcxGridDBColumn;
cxGridViewCODIGOCONTACTO: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewCODIGOCATEGORIA: TcxGridDBColumn;
cxGridViewCATEGORIA: TcxGridDBColumn;
cxGridViewICONO: TcxGridDBColumn;
procedure cxGridViewICONOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
private
//Filtros relativos a la vista
procedure AnadirFiltroFechas;
protected
FPagos: IBizPagos;
function GetPagos: IBizPagos; virtual;
procedure SetPagos(const Value: IBizPagos); virtual;
procedure AnadirOtrosFiltros; override;
public
property DataSet: IBizPagos read GetPagos write SetPagos;
end;
var
frViewPagos: TfrViewPagos;
implementation
uses uDataModulePagos;
{$R *.dfm}
{ TfrViewClientes }
{
******************************* TfrViewPagos *******************************
}
function TfrViewPagos.GetPagos: IBizPagos;
begin
Result := FPagos;
end;
procedure TfrViewPagos.SetPagos(const Value: IBizPagos);
begin
FPagos := Value;
if Assigned(FPagos) then
DADataSource.DataTable := FPagos.DataTable;
end;
procedure TfrViewPagos.cxGridViewICONOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
R : TRect;
begin
inherited;
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
ACanvas.DrawImage(PngImageList, R.Left, R.Top, 0);
ADone := True;
end;
procedure TfrViewPagos.AnadirOtrosFiltros;
begin
inherited;
AnadirFiltroFechas;
//Finalmente activamos el filtro si tenemos algo
if cxGridView.DataController.Filter.IsEmpty
then cxGridView.DataController.Filter.Active := False
else cxGridView.DataController.Filter.Active := True;
cxGrid.ActiveLevel.GridView := cxGridView;
end;
procedure TfrViewPagos.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('FECHAPAGO');
FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
end;
end;
end.