unit uEditorElegirAlbaranesProveedor; 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, uViewAlbaranesProveedor, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uViewBarraSeleccion, StdCtrls, uEditorAlbaranesProveedor, uBizAlbaranesProveedor, uIEditorElegirAlbaranesProveedor, JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces; type TfEditorElegirAlbaranesProveedor = class(TfEditorAlbaranesProveedor, IEditorElegirAlbaranesProveedor) 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 GetAlbaranesProveedorSeleccionados: IBizAlbaranProveedor; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property AlbaranesProveedorSeleccionados: IBizAlbaranProveedor read GetAlbaranesProveedorSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils, uGridUtils, uEditorBase, uAlbaranesProveedorController; {$R *.dfm} { TfEditorElegirAlbaranesProveedor } procedure TfEditorElegirAlbaranesProveedor.actAnchoAuto2Execute(Sender: TObject); begin inherited; actAnchoAuto.Execute; end; procedure TfEditorElegirAlbaranesProveedor.actQuitarFiltro2Execute(Sender: TObject); begin inherited; actQuitarFiltro.Execute; end; procedure TfEditorElegirAlbaranesProveedor.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; end; procedure TfEditorElegirAlbaranesProveedor.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirAlbaranesProveedor.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirAlbaranesProveedor.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirAlbaranesProveedor.GetAlbaranesProveedorSeleccionados: IBizAlbaranProveedor; begin SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Albaranes as ISeleccionable).SelectedRecords); // En SelectedRecords tengo los ID de las filas seleccionadas del grid Result := (Controller as IAlbaranesProveedorController).ExtraerSeleccionados(Albaranes) as IBizAlbaranProveedor; end; function TfEditorElegirAlbaranesProveedor.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirAlbaranesProveedor.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirAlbaranesProveedor.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirAlbaranesProveedor.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirAlbaranesProveedor.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.