unit uViewArticulos; 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, uBizArticulos, ActnList, Menus, cxGridBandedTableView, cxGridDBBandedTableView, JvComponent, JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, cxGridCustomPopupMenu, cxGridPopupMenu, cxCurrencyEdit, cxSpinEdit, cxCheckBox, cxCheckComboBox, cxImageComboBox, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase, dxPgsDlg, uDAInterfaces, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinSilver, dxSkinStardust, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, dxSkinscxPCPainter; type IViewArticulos = interface(IViewGrid) ['{4C09BEC8-C82B-4DE8-8C36-40DB62224E95}'] function GetArticulos: IBizArticulo; procedure SetArticulos(const Value: IBizArticulo); property Articulos: IBizArticulo read GetArticulos write SetArticulos; end; TfrViewArticulos = class(TfrViewGrid, IViewArticulos) cxGridViewREFERENCIA: TcxGridDBColumn; cxGridViewDESCRIPCION: TcxGridDBColumn; cxGridViewFAMILIA: TcxGridDBColumn; cxGridViewNOMBRE_PROVEEDOR: TcxGridDBColumn; actFamilia: TAction; actProveedor: TAction; TBXItem2: TTBXItem; TBXItem3: TTBXItem; TBXSeparatorItem1: TTBXSeparatorItem; TBXSeparatorItem2: TTBXSeparatorItem; cxGridViewINVENTARIABLE: TcxGridDBColumn; cxGridViewUNIDAD_MEDIDA: TcxGridDBColumn; cxGridViewFABRICANTE: TcxGridDBColumn; TBXItem4: TTBXItem; TBXSeparatorItem3: TTBXSeparatorItem; actFabricante: TAction; cxGridViewREFERENCIA_FABR: TcxGridDBColumn; procedure actProveedorExecute(Sender: TObject); procedure actProveedorUpdate(Sender: TObject); procedure actFamiliaExecute(Sender: TObject); procedure actFamiliaUpdate(Sender: TObject); procedure actFabricanteExecute(Sender: TObject); procedure actFabricanteUpdate(Sender: TObject); protected FArticulos: IBizArticulo; function GetArticulos: IBizArticulo; virtual; procedure SetArticulos(const Value: IBizArticulo); virtual; public property Articulos: IBizArticulo read GetArticulos write SetArticulos; end; implementation {$R *.dfm} uses //uDataModuleArticulos, schArticulosClient_Intf; { TfrViewArticulos } { ******************************* TfrViewArticulos ******************************* } function TfrViewArticulos.GetArticulos: IBizArticulo; begin Result := FArticulos; end; procedure TfrViewArticulos.SetArticulos(const Value: IBizArticulo); begin FArticulos := Value; if Assigned(FArticulos) then dsDataSource.DataTable := FArticulos.DataTable; end; procedure TfrViewArticulos.actFabricanteExecute(Sender: TObject); begin if (cxGridViewFABRICANTE.GroupIndex < 0) then begin cxGridViewFABRICANTE.GroupIndex := cxGridView.GroupedColumnCount; cxGridViewFABRICANTE.Visible := False; end else begin cxGridViewFABRICANTE.GroupIndex := -1; cxGridViewFABRICANTE.Visible := True; end; end; procedure TfrViewArticulos.actFabricanteUpdate(Sender: TObject); begin inherited; (Sender as TAction).Checked := not (cxGridViewFABRICANTE.GroupIndex < 0); end; procedure TfrViewArticulos.actFamiliaExecute(Sender: TObject); begin if (cxGridViewFAMILIA.GroupIndex < 0) then begin cxGridViewFAMILIA.GroupIndex := cxGridView.GroupedColumnCount; cxGridViewFAMILIA.Visible := False; end else begin cxGridViewFAMILIA.GroupIndex := -1; cxGridViewFAMILIA.Visible := True; end; end; procedure TfrViewArticulos.actFamiliaUpdate(Sender: TObject); begin inherited; (Sender as TAction).Checked := not (cxGridViewFAMILIA.GroupIndex < 0); end; procedure TfrViewArticulos.actProveedorExecute(Sender: TObject); begin inherited; if (cxGridViewNOMBRE_PROVEEDOR.GroupIndex < 0) then begin cxGridViewNOMBRE_PROVEEDOR.GroupIndex := cxGridView.GroupedColumnCount; cxGridViewNOMBRE_PROVEEDOR.Visible := False; end else begin cxGridViewNOMBRE_PROVEEDOR.GroupIndex := -1; cxGridViewNOMBRE_PROVEEDOR.Visible := True; end; end; procedure TfrViewArticulos.actProveedorUpdate(Sender: TObject); begin inherited; (Sender as TAction).Checked := not (cxGridViewNOMBRE_PROVEEDOR.GroupIndex < 0); end; end.