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/Pedidos a proveedor/Cliente/uViewPedidosProveedor.pas
2007-06-21 15:59:26 +00:00

155 lines
5.5 KiB
ObjectPascal

unit uViewPedidosProveedor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewGrid, uViewPreview, frxClass, frxPreview, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB,
cxDBData, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxGrid, uBizPedidosProveedor, StdCtrls, ExtCtrls,
cxLabel, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev,
dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxIntlPrintSys3,
dxPSCore, dxPScxCommon, dxPScxGridLnk, cxImage, cxImageComboBox, ImgList,
PngImageList, cxTextEdit, Grids, DBGrids;
type
IViewPedidosProveedor = interface(IViewGrid)
['{F21DDC5A-0A61-448A-A0B8-F8C82F8524AE}']
function GetPedidosProveedor: IBizPedidosProveedor;
procedure SetPedidosProveedor(const Value: IBizPedidosProveedor);
property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write
SetPedidosProveedor;
end;
TfrViewPedidosProveedor = class(TfrViewGrid, IViewPedidosProveedor)
cxGridDBTableView1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridLevel2: TcxGridLevel;
cxGridLevel3: TcxGridLevel;
PngImageList: TPngImageList;
cxGridViewCODIGO: TcxGridDBColumn;
cxGridViewREFERENCIA: TcxGridDBColumn;
cxGridViewFECHAPEDIDO: TcxGridDBColumn;
cxGridViewFECHACONFIRMACION: TcxGridDBColumn;
cxGridViewSITUACION: TcxGridDBColumn;
cxGridViewFECHAENTREGA: TcxGridDBColumn;
cxGridViewDIRECCIONCOMPLETA: TcxGridDBColumn;
cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn;
cxGridViewCODIGOALMACEN: TcxGridDBColumn;
cxGridViewCODIGOCONTACTO: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
cxGridViewCODIGOMONTAJE: TcxGridDBColumn;
cxGridViewNOMBREALMACEN: TcxGridDBColumn;
cxGridViewNOMBRECLIENTE: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);
procedure cxGridViewCODIGOCustomDrawCell(Sender: TcxCustomGridTableView;
ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var
ADone: Boolean);
procedure cxGridViewStylesGetContentStyle(Sender: TcxCustomGridTableView;
ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem; out
AStyle: TcxStyle);
protected
FNivelFiltrado : TcxFilterCriteriaItemList;
FPedidosProveedor: IBizPedidosProveedor;
function GetPedidosProveedor: IBizPedidosProveedor;
procedure SetPedidosProveedor(const Value: IBizPedidosProveedor);
procedure FilterChanged(Sender : TObject); override;
public
property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write
SetPedidosProveedor;
end;
var
frViewPedidosProveedor: TfrViewPedidosProveedor;
implementation
uses uDataModulePedidosProveedor, schPedidosProveedorClient_Intf;
{$R *.dfm}
procedure TfrViewPedidosProveedor.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
end;
procedure TfrViewPedidosProveedor.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 TfrViewPedidosProveedor.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_PresupuestosSITUACION).Index;
ASituacion := VarToStr(ARecord.DisplayTexts[IndiceCol]);
if ASituacion = SITUACION_ACEPTADO then
AStyle := cxStyleAceptado
else if ASituacion = SITUACION_RECHAZADO then
AStyle := cxStyleRechazado;
end;
}
end;
procedure TfrViewPedidosProveedor.FilterChanged(Sender: TObject);
var
AItemList: TcxFilterCriteriaItemList;
AItemList2: TcxFilterCriteriaItemList;
begin
inherited;
cxGridView.DataController.Filter.BeginUpdate;
AItemList := cxGridView.DataController.Filter.Root;
AItemList2 := AItemList.AddItemList(fboAnd);
FNivelFiltrado := AItemList2;
case cxGrid.ActiveLevel.Index of
1 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PENDIENTE, SITUACION_PENDIENTE);
2 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PARCIAL, SITUACION_PARCIAL);
3 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_RECIBIDO, SITUACION_RECIBIDO);
end;
AItemList := AItemList2;
if cxGridView.DataController.Filter.IsEmpty
then cxGridView.DataController.Filter.Active := False
else cxGridView.DataController.Filter.Active := True;
cxGridView.DataController.Filter.EndUpdate;
cxGrid.ActiveLevel.GridView := cxGridView;
end;
function TfrViewPedidosProveedor.GetPedidosProveedor: IBizPedidosProveedor;
begin
Result := FPedidosProveedor;
end;
procedure TfrViewPedidosProveedor.SetPedidosProveedor(const Value: IBizPedidosProveedor);
begin
FPedidosProveedor := Value;
if Assigned(FPedidosProveedor) then
DADataSource.DataTable := FPedidosProveedor.DataTable;
end;
end.