This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
Noviseda_FactuGES2/Source/Modulos/Contactos/Views/uViewEmpleados.pas
2010-01-22 15:02:51 +00:00

101 lines
3.2 KiB
ObjectPascal

unit uViewEmpleados;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContactos, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg,
dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, ImgList, PngImageList, cxGridCustomPopupMenu,
cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, uDADataTable,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg, ActnList, TB2Item,
SpTBXItem, TB2Toolbar, SpTBXDkPanels, TB2Dock, uViewFiltroBase, uDAInterfaces,
Menus, cxLookAndFeels, cxLookAndFeelPainters, dxPSPDFExportCore,
dxPSPDFExport, cxDrawTextUtils, dxPSPrVwStd, dxPSPrVwAdv,
dxPScxEditorProducers, dxPScxExtEditorProducers, dxPScxPageControlProducer,
uCustomView, uViewBase;
type
IViewEmpleados = interface(IViewContactos)
['{15826F4B-664B-4DDA-B9CD-723CE8843094}']
end;
TfrViewEmpleados = class(TfrViewContactos, IViewEmpleados)
cxGridLevel1: TcxGridLevel;
cxGridLevel2: TcxGridLevel;
cxGridViewFECHA_BAJA: TcxGridDBColumn;
cxStyleActivos: TcxStyle;
cxStyleInactivos: TcxStyle;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
out AStyle: TcxStyle);
private
//Filtros relativos a la vista
procedure AnadirFiltroSituaciones;
public
procedure AnadirOtrosFiltros; override;
end;
implementation
{$R *.dfm}
uses schContactosClient_Intf;
procedure TfrViewEmpleados.AnadirFiltroSituaciones;
var
FFiltro : TcxFilterCriteriaItemList;
begin
FFiltro := AddFilterGrid(fboAnd);
case cxGrid.ActiveLevel.Index of
1 : FFiltro.AddItem(cxGridViewFECHA_BAJA, foEqual, Null, 'ACTIVOS');
2 : FFiltro.AddItem(cxGridViewFECHA_BAJA, foNotEqual, Null, 'INACTIVOS');
end;
end;
procedure TfrViewEmpleados.AnadirOtrosFiltros;
begin
inherited;
AnadirFiltroSituaciones;
//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 TfrViewEmpleados.cxGridActiveTabChanged(Sender: TcxCustomGrid;
ALevel: TcxGridLevel);
begin
inherited;
RefrescarFiltro;
end;
procedure TfrViewEmpleados.cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
IndiceCol: Integer;
ASituacion: String;
begin
inherited;
if Assigned(ARecord) then
begin
IndiceCol := (Sender as TcxGridDBTableView).GetColumnByFieldName(fld_EmpleadosFECHA_BAJA).Index;
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if Length(ASituacion) = 0 then
AStyle.TextColor := cxStyleActivos.TextColor
else
AStyle.TextColor := cxStyleInactivos.TextColor;
end;
end;
end.