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/Facturas de proveedor/Cliente/uViewFacturasProveedor.pas
2007-06-21 16:02:50 +00:00

133 lines
4.2 KiB
ObjectPascal

unit uViewFacturasProveedor;
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, dxPScxGridLnk, ActnList, uDADataTable,
cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid,
cxImage, Grids, DBGrids, uBizFacturasProveedor, cxCurrencyEdit,
uViewFiltroBase;
type
IViewFacturasProveedor = interface(IViewGrid)
['{82E4A231-1B52-4C90-8E10-D485E8A13C49}']
procedure SyncFocusedRecord;
function GetFacturasProveedor: IBizFacturasProveedor;
procedure SetFacturasProveedor(const Value: IBizFacturasProveedor);
property FacturasProveedor: IBizFacturasProveedor read GetFacturasProveedor
write SetFacturasProveedor;
end;
TfrViewFacturasProveedor = class(TfrViewGrid, IViewFacturasProveedor)
PngImageList: TPngImageList;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewFECHAFACTURA: TcxGridDBColumn;
cxGridViewVENCIMIENTO: TcxGridDBColumn;
cxGridViewIMPORTETOTAL: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewICONO: TcxGridDBColumn;
procedure cxGridViewCODIGOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
private
//Filtros relativos a la vista
procedure AnadirFiltroFechas;
protected
FFacturasProveedor: IBizFacturasProveedor;
function GetFacturasProveedor: IBizFacturasProveedor;
procedure SetFacturasProveedor(const Value: IBizFacturasProveedor);
procedure AnadirOtrosFiltros; override;
public
procedure SyncFocusedRecord;
property FacturasProveedor: IBizFacturasProveedor read GetFacturasProveedor
write SetFacturasProveedor;
end;
var
frViewFacturasProveedor: TfrViewFacturasProveedor;
implementation
uses
uDataModuleFacturasProveedor;
{$R *.dfm}
{ TfrViewFacturasProveedor }
function TfrViewFacturasProveedor.GetFacturasProveedor: IBizFacturasProveedor;
begin
Result := FFacturasProveedor;
end;
procedure TfrViewFacturasProveedor.SetFacturasProveedor(
const Value: IBizFacturasProveedor);
begin
FFacturasProveedor := Value;
if Assigned(FFacturasProveedor) then
DADataSource.DataTable := FFacturasProveedor.DataTable;
end;
procedure TfrViewFacturasProveedor.cxGridViewCODIGOCustomDrawCell(
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, 2);
ADone := True;
end;
procedure TfrViewFacturasProveedor.SyncFocusedRecord;
begin
//
end;
procedure TfrViewFacturasProveedor.AnadirFiltroFechas;
var
Columna1, Columna2: 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);
Columna1 := (cxGridView as TcxGridDBTableView).GetColumnByFieldName('FECHAFACTURA');
FFiltro.AddItem(Columna1, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
end;
end;
procedure TfrViewFacturasProveedor.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;
end.