git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
135 lines
4.0 KiB
ObjectPascal
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.
|