unit uEditorElegirArticulosAlmacen; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewArticulos, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uViewBarraSeleccion, StdCtrls, uEditorArticulos, uBizArticulos, uIEditorElegirArticulosAlmacen, JvExComCtrls, JvStatusBar, uEditorInventario, uViewInventario, uBizInventario, JSDialog, uDAInterfaces; type TfEditorElegirArticulosAlmacen = class(TfEditorInventario, IEditorElegirArticulosAlmacen) frViewBarraSeleccion1: TfrViewBarraSeleccion; EditorSeleccionActionList: TActionList; actBuscar2: TAction; actQuitarFiltro2: TAction; actAnchoAuto2: TAction; pnlHeader: TPanel; lblTitle: TLabel; lblComments: TLabel; procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure FormShow(Sender: TObject); procedure actAnchoAuto2Execute(Sender: TObject); procedure actQuitarFiltro2Execute(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; function GetArticulosSeleccionados: IBizInventario; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property ArticulosSeleccionados: IBizInventario read GetArticulosSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation {$R *.dfm} uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils, uGridUtils, uEditorBase, uInventarioController; { TfEditorElegirArticulosAlmacen } procedure TfEditorElegirArticulosAlmacen.actAnchoAuto2Execute(Sender: TObject); begin inherited; actAnchoAuto.Execute; end; procedure TfEditorElegirArticulosAlmacen.actQuitarFiltro2Execute(Sender: TObject); begin inherited; actQuitarFiltro.Execute; end; procedure TfEditorElegirArticulosAlmacen.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; end; procedure TfEditorElegirArticulosAlmacen.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirArticulosAlmacen.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirArticulosAlmacen.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirArticulosAlmacen.GetArticulosSeleccionados: IBizInventario; begin SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Inventario as ISeleccionable).SelectedRecords); // En SelectedRecords tengo los ID de las filas seleccionadas del grid Result := (Controller as IInventarioController).ExtraerSeleccionados(Inventario) as IBizInventario; end; function TfEditorElegirArticulosAlmacen.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirArticulosAlmacen.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirArticulosAlmacen.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirArticulosAlmacen.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirArticulosAlmacen.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.