unit uEditorElegirPresupuestosCliente; 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, uViewPresupuestosCliente, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uViewBarraSeleccion, StdCtrls, uEditorPresupuestosCliente, uBizPresupuestosCliente, uIEditorElegirPresupuestosCliente, JvExComCtrls, JvStatusBar, JSDialog, uDAInterfaces; type TfEditorElegirPresupuestosCliente = class(TfEditorPresupuestosCliente, IEditorElegirPresupuestosCliente) frViewBarraSeleccion1: TfrViewBarraSeleccion; lblTitle: TLabel; lblComments: TLabel; EditorSeleccionActionList: TActionList; actBuscar2: TAction; actQuitarFiltro2: TAction; actAnchoAuto2: TAction; 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 GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property PresupuestosClienteSeleccionados: IBizPresupuestoCliente read GetPresupuestosClienteSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation uses uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils, uGridStatusUtils, uEditorBase, uPresupuestosClienteController, cxGridLevel; {$R *.dfm} { TfEditorElegirPresupuestosCliente } procedure TfEditorElegirPresupuestosCliente.actAnchoAuto2Execute(Sender: TObject); begin inherited; actAnchoAuto.Execute; end; procedure TfEditorElegirPresupuestosCliente.actQuitarFiltro2Execute(Sender: TObject); begin inherited; actQuitarFiltro.Execute; end; procedure TfEditorElegirPresupuestosCliente.FormShow(Sender: TObject); begin inherited; EditorActionList.State := asSuspended; end; procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actCancelarExecute( Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirPresupuestosCliente.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirPresupuestosCliente.GetPresupuestosClienteSeleccionados: IBizPresupuestoCliente; begin SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Presupuestos as ISeleccionable).SelectedRecords); // En SelectedRecords tengo los ID de las filas seleccionadas del grid Result := (Controller as IPresupuestosClienteController).ExtraerSeleccionados(Presupuestos) as IBizPresupuestoCliente; end; function TfEditorElegirPresupuestosCliente.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirPresupuestosCliente.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirPresupuestosCliente.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirPresupuestosCliente.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirPresupuestosCliente.SetViewGrid(const Value: IViewGridBase); begin inherited; //Para que no salgan las pestaņas de filtrado ViewGrid._Grid.RootLevelOptions.DetailTabsPosition := dtpNone; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.