unit uEditorElegirAgentes; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, uEditorAgentes, pngimage, JSDialog, Menus, DB, uDAInterfaces, uDADataTable, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid, uViewContactos, uViewAgentes, ComCtrls, JvExComCtrls, JvStatusBar, TBX, TB2ExtItems, TBXExtItems, TB2Item, TB2Dock, TB2Toolbar, dxGDIPlusClasses, ExtCtrls, JvExControls, JvNavigationPane, uViewBarraSeleccion, uIEditorElegirAgentes, StdCtrls, uBizContactos; type TfEditorElegirAgentes = class(TfEditorAgentes, IEditorElegirAgentes) frViewBarraSeleccion1: TfrViewBarraSeleccion; pnlHeader: TPanel; lblTitle: TLabel; lblComments: TLabel; procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); procedure frViewBarraSeleccion1actCancelarExecute(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, uGridStatusUtils, uDBSelectionListUtils; procedure TfEditorElegirAgentes.frViewBarraSeleccion1actCancelarExecute(Sender: TObject); begin inherited; Close; end; procedure TfEditorElegirAgentes.frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); begin inherited; ModalResult := mrOk; end; procedure TfEditorElegirAgentes.frViewBarraSeleccion1actSeleccionarUpdate( Sender: TObject); begin inherited; (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) end; function TfEditorElegirAgentes.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 TfEditorElegirAgentes.GetMensaje: String; begin Result := lblComments.Caption; end; function TfEditorElegirAgentes.GetMultiSelect: Boolean; begin Result := ViewGrid.MultiSelect; end; procedure TfEditorElegirAgentes.SetMensaje(const AValue: String); begin lblComments.Caption := AValue; end; procedure TfEditorElegirAgentes.SetMultiSelect(AValue: Boolean); begin ViewGrid.MultiSelect := AValue; end; procedure TfEditorElegirAgentes.SetViewGrid(const Value: IViewGridBase); begin inherited; ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; end; end.