git-svn-id: https://192.168.0.254/svn/Proyectos.AlonsoYSal_FactuGES/trunk@5 9a1d36f3-7752-2d40-8ccb-50eb49674c68
157 lines
4.8 KiB
ObjectPascal
157 lines
4.8 KiB
ObjectPascal
unit uViewMontajes;
|
|
|
|
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, uBizMontajes, ActnList, Menus,
|
|
cxGridBandedTableView, cxGridDBBandedTableView, JvComponent,
|
|
JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn,
|
|
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
|
dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGridLnk,
|
|
uViewFiltroBase;
|
|
|
|
type
|
|
IViewMontajes = interface(IViewGrid)
|
|
['{78CB7E94-7AE3-4445-9A9C-C4CE27A8A21F}']
|
|
function GetMontajes: IBizMontaje;
|
|
procedure SetMontajes(const Value: IBizMontaje);
|
|
property Montajes: IBizMontaje read GetMontajes write SetMontajes;
|
|
end;
|
|
|
|
TfrViewMontajes = class(TfrViewGrid, IViewMontajes)
|
|
PngImageList: TPngImageList;
|
|
cxGridViewRecID: TcxGridDBColumn;
|
|
cxGridViewCODIGOEMPRESA: TcxGridDBColumn;
|
|
cxGridViewCODIGO: TcxGridDBColumn;
|
|
cxGridViewFECHAALTA: TcxGridDBColumn;
|
|
cxGridViewUSUARIO: TcxGridDBColumn;
|
|
cxGridViewFECHAINICIO: TcxGridDBColumn;
|
|
cxGridViewFECHAFIN: TcxGridDBColumn;
|
|
cxGridViewSITUACION: TcxGridDBColumn;
|
|
cxGridViewOBSERVACIONES: TcxGridDBColumn;
|
|
cxGridViewCODIGOPRESUPUESTO: TcxGridDBColumn;
|
|
cxGridViewREFERENCIA: TcxGridDBColumn;
|
|
cxGridViewCODIGOCONTACTO: TcxGridDBColumn;
|
|
cxGridViewNOMBRE: TcxGridDBColumn;
|
|
cxGridLevel1: TcxGridLevel;
|
|
cxGridLevel2: TcxGridLevel;
|
|
cxGridViewOPCION: TcxGridDBColumn;
|
|
procedure cxGridViewCODIGOCustomDrawCell(
|
|
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
|
|
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
|
|
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
|
|
|
|
private
|
|
//Filtros relativos a la vista
|
|
procedure AnadirFiltroSituaciones;
|
|
procedure AnadirFiltroFechas;
|
|
|
|
protected
|
|
FMontajes: IBizMontaje;
|
|
function GetMontajes: IBizMontaje; virtual;
|
|
procedure SetMontajes(const Value: IBizMontaje); virtual;
|
|
procedure AnadirOtrosFiltros; override;
|
|
|
|
public
|
|
property DataSet: IBizMontaje read GetMontajes write SetMontajes;
|
|
end;
|
|
|
|
var
|
|
frViewMontajes: TfrViewMontajes;
|
|
|
|
implementation
|
|
|
|
uses uDataModuleMontajes;
|
|
|
|
|
|
{$R *.dfm}
|
|
|
|
{ TfrViewClientes }
|
|
|
|
{
|
|
******************************* TfrViewMontajes *******************************
|
|
}
|
|
function TfrViewMontajes.GetMontajes: IBizMontaje;
|
|
begin
|
|
Result := FMontajes;
|
|
end;
|
|
|
|
procedure TfrViewMontajes.SetMontajes(const Value: IBizMontaje);
|
|
begin
|
|
FMontajes := Value;
|
|
if Assigned(FMontajes) then
|
|
DADataSource.DataTable := FMontajes.DataTable;
|
|
end;
|
|
|
|
|
|
procedure TfrViewMontajes.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, 0);
|
|
ADone := True;
|
|
end;
|
|
|
|
procedure TfrViewMontajes.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
|
|
begin
|
|
inherited;
|
|
RefrescarFiltro;
|
|
end;
|
|
|
|
procedure TfrViewMontajes.AnadirFiltroSituaciones;
|
|
var
|
|
FFiltro : TcxFilterCriteriaItemList;
|
|
begin
|
|
FFiltro := AddFilterGrid(fboAnd);
|
|
|
|
case cxGrid.ActiveLevel.Index of
|
|
1 : FFiltro.AddItem(cxGridViewSITUACION, foNotEqual, SITUACION_PAGADO, SITUACION_PAGADO);
|
|
2 : FFiltro.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PAGADO, SITUACION_PAGADO);
|
|
end;
|
|
end;
|
|
|
|
procedure TfrViewMontajes.AnadirOtrosFiltros;
|
|
begin
|
|
inherited;
|
|
|
|
AnadirFiltroSituaciones;
|
|
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 TfrViewMontajes.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('FECHAINICIO');
|
|
FFiltro.AddItem(Columna, foBetween, varArrayOf([Fecha1, Fecha2]), VarToStr(Fecha1) + ' and ' + VarToStr(Fecha2));
|
|
end;
|
|
end;
|
|
|
|
end.
|