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