unit uEditorElegirVendedores; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorVendedores, JSDialog, Menus, DB, uDAInterfaces, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewContactos, uViewVendedores, ComCtrls, JvExComCtrls, uBizContactos, uIEditorElegirVendedores, uViewBarraSeleccion, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvNavigationPane, StdCtrls; type TfEditorElegirVendedores = class(TfEditorVendedores, IEditorElegirVendedores) 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 actQuitarFiltro2Execute(Sender: TObject); procedure actAnchoAuto2Execute(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); protected procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; function GetContactosSeleccionados: IBizContacto; procedure SetViewGrid(const Value: IViewGridBase); override; procedure SetMensaje (const AValue: String); function GetMensaje: String; public property Mensaje : String read GetMensaje write SetMensaje; property ContactosSeleccionados: IBizContacto read GetContactosSeleccionados; property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; end; implementation {$R *.dfm} uses cxControls, uDBSelectionListUtils, uGridUtils; procedure TfEditorElegirVendedores.actAnchoAuto2Execute(Sender: TObject); begin inherited; actAnchoAuto.Execute; end; procedure TfEditorElegirVendedores.actQuitarFiltro2Execute(Sender: TObject); begin inherited; actQuitarFiltro.Execute; end; procedure TfEditorElegirVendedores.frViewBarraSeleccion1actCancelarExecute(Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirVendedores.frViewBarraSeleccion1actSeleccionarExecute( Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirVendedores.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirVendedores.GetContactosSeleccionados: IBizContacto; begin ShowHourglassCursor; try SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (Contactos as ISeleccionable).SelectedRecords); // En Contactos.SelectedRecords tengo los ID de las filas seleccionadas del grid Result := Controller.ExtraerSeleccionados(Contactos); finally HideHourglassCursor; end; end; function TfEditorElegirVendedores.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirVendedores.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirVendedores.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirVendedores.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirVendedores.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.