unit uEditorElegirArticulosProveedor; 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, uViewArticulosProveedor, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls, uEditorArticulosProveedor, uBizArticulosProveedor, uIEditorElegirArticulosProveedor, JvExComCtrls, JvStatusBar; type TfEditorElegirArticulosProveedor = class(TfEditorArticulosProveedor, IEditorElegirArticulosProveedor) frViewBarraSeleccion1: TfrViewBarraSeleccion; JvgWizardHeader1: TJvgWizardHeader; procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure FormShow(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; function GetArticulosSeleccionados: IBizArticuloProveedor; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property ArticulosSeleccionados: IBizArticuloProveedor read GetArticulosSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uGridUtils, uEditorBase, uArticulosProveedorController; {$R *.dfm} { TfEditorElegirArticulosProveedor } procedure TfEditorElegirArticulosProveedor.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; end; procedure TfEditorElegirArticulosProveedor.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirArticulosProveedor.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirArticulosProveedor.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirArticulosProveedor.GetArticulosSeleccionados: IBizArticuloProveedor; begin SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Articulos as IBizArticuloProveedor).SelectedRecords.SelectedRecordsObj); // En SelectedRecords tengo los ID de las filas seleccionadas del grid Result := (Controller as IArticulosProveedorController).ExtraerSeleccionados(Articulos) as IBizArticuloProveedor; end; function TfEditorElegirArticulosProveedor.GetMensaje: String; begin Result := JvgWizardHeader1.Comments.Text; end; function TfEditorElegirArticulosProveedor.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirArticulosProveedor.SetMensaje(const AValue: String); begin JvgWizardHeader1.Comments.CommaText := AValue; end; procedure TfEditorElegirArticulosProveedor.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirArticulosProveedor.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.