AbetoDesign_FactuGES2/Source/Modulos/Contactos/Views/uViewClientes.pas

114 lines
3.7 KiB
ObjectPascal

unit uViewClientes;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewContactos, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, uDADataTable,
cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxClasses, cxControls, cxGridCustomView, cxGrid, JvComponent,
JvFormAutoSize, cxImage, PngImageList, ImgList, dxPSGlbl, dxPSUtl,
dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider,
dxPSFillPatterns, dxPSEdgePatterns, dxPSCore,
dxPScxCommon, cxImageComboBox, cxGridCustomPopupMenu, cxGridPopupMenu,
dxPScxGrid6Lnk, ExtCtrls, JvComponentBase, JvBalloonHint, JvHint,
uViewFiltroBase, dxPgsDlg, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock,
uDAInterfaces, cxTextEdit, uCustomView, uViewBase;
type
IViewClientes = interface(IViewContactos)
['{7964E0AB-3075-43E7-94BC-513D80A1C116}']
end;
TfrViewClientes = class(TfrViewContactos, IViewClientes)
cxGridViewNOMBRE_COMERCIAL: TcxGridDBColumn;
cxGridViewBLOQUEADO: TcxGridDBColumn;
cxGridViewTiendaWeb: TcxGridDBColumn;
cxGridViewPERSONA_CONTACTO: TcxGridDBColumn;
cxGridViewPROCEDENCIA_CLIENTE: TcxGridDBColumn;
actProcedencia: TAction;
TBXSeparatorItem1: TTBXSeparatorItem;
TBXItem2: TTBXItem;
cxGridViewPRECIO_PUNTO: TcxGridDBColumn;
TBXSeparatorItem2: TTBXSeparatorItem;
TBXItem3: TTBXItem;
actPrecioPunto: TAction;
procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
var ADone: Boolean);
procedure actProcedenciaExecute(Sender: TObject);
procedure actProcedenciaUpdate(Sender: TObject);
procedure actPrecioPuntoExecute(Sender: TObject);
procedure actPrecioPuntoUpdate(Sender: TObject);
end;
implementation
uses uViewGridBase;
{$R *.dfm}
procedure TfrViewClientes.actPrecioPuntoExecute(Sender: TObject);
begin
if (cxGridViewPRECIO_PUNTO.GroupIndex < 0) then
begin
cxGridViewPRECIO_PUNTO.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewPRECIO_PUNTO.Visible := False;
end
else
begin
cxGridViewPRECIO_PUNTO.GroupIndex := -1;
cxGridViewPRECIO_PUNTO.Visible := True;
end;
end;
procedure TfrViewClientes.actPrecioPuntoUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewPRECIO_PUNTO.GroupIndex < 0);
end;
procedure TfrViewClientes.actProcedenciaExecute(Sender: TObject);
begin
inherited;
if (cxGridViewPROCEDENCIA_CLIENTE.GroupIndex < 0) then
begin
cxGridViewPROCEDENCIA_CLIENTE.GroupIndex := cxGridView.GroupedColumnCount;
cxGridViewPROCEDENCIA_CLIENTE.Visible := False;
end
else
begin
cxGridViewPROCEDENCIA_CLIENTE.GroupIndex := -1;
cxGridViewPROCEDENCIA_CLIENTE.Visible := True;
end;
end;
procedure TfrViewClientes.actProcedenciaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Checked := not (cxGridViewPROCEDENCIA_CLIENTE.GroupIndex < 0);
end;
procedure TfrViewClientes.cxGridViewCODIGOCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
R : TRect;
begin
//inherited; <- No llamamos al padre porque queremos hacer tratamiento especial
R := AViewInfo.ContentBounds;
ACanvas.FillRect(R);
if (cxGridView.DataController.DisplayTexts[AViewInfo.GridRecord.RecordIndex,
cxGridViewBLOQUEADO.Index] = '1') then
ACanvas.DrawImage(PngImageList, R.Left + 2, R.Top + 2, 2)
else
ACanvas.DrawImage(PngImageList, R.Left + 2, R.Top + 2, 1);
ADone := True;
end;
end.