ConstruccionesCNJ_FactuGES/Modulos/Pedidos a proveedor/Views/uViewPedidosProveedor.pas
2007-06-21 15:50:59 +00:00

103 lines
3.5 KiB
ObjectPascal

unit uViewPedidosProveedor;
interface
uses
uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter,
cxData, cxDataStorage, cxEdit, DB, cxDBData, dxPSGlbl, dxPSUtl, dxPSEngn,
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
dxPSEdgePatterns, cxImageComboBox, ImgList, Controls, PngImageList,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk,
uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, Classes,
cxGrid,
uBizPedidosProveedor;
type
IViewPedidosProveedor = interface(IViewGrid)
['{DF3B0989-5449-4F3A-8EF3-69CE35A62AAA}']
function GetPedidos: IBizPedidoProveedor;
procedure SetPedidos(const Value: IBizPedidoProveedor);
property Pedidos: IBizPedidoProveedor read GetPedidos write SetPedidos;
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;
cxGridViewINCIDENCIASACTIVAS: TcxGridDBColumn;
cxGridViewNOMBRE: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
protected
FNivelFiltrado : TcxFilterCriteriaItemList;
FPedidos: IBizPedidoProveedor;
function GetPedidos: IBizPedidoProveedor;
procedure SetPedidos(const Value: IBizPedidoProveedor);
procedure FilterChanged(Sender : TObject); override;
public
property Pedidos: IBizPedidoProveedor read GetPedidos write SetPedidos;
end;
implementation
uses SysUtils, windows, uDataModulePedidosProveedor, schPedidosProveedorClient_Intf;
{$R *.dfm}
procedure TfrViewPedidosProveedor.cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel: TcxGridLevel);
begin
inherited;
FreeAndNil(FNivelFiltrado);
FilterChanged(self);
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_PEDIDO_PENDIENTE, SITUACION_PEDIDO_PENDIENTE);
2 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_PARCIAL, SITUACION_PEDIDO_PARCIAL);
3 : AItemList2.AddItem(cxGridViewSITUACION, foEqual, SITUACION_PEDIDO_RECIBIDO, SITUACION_PEDIDO_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.GetPedidos: IBizPedidoProveedor;
begin
Result := FPedidos;
end;
procedure TfrViewPedidosProveedor.SetPedidos(const Value: IBizPedidoProveedor);
begin
FPedidos := Value;
if Assigned(FPedidos) then
dsDataSource.DataTable := FPedidos.DataTable;
end;
end.