Tenemos la posibilidad de indicar sobre un campo en la grid si corresponde o no a una colección, esto nos permite que cuando el usuario realice un doble clic sobre este campo se abra el objeto en cuestión, en el siguiente ejemplo se ha preparado sobre el campo cliente de la cartera:
Código VB6:
Sub Initialize() gForm.Controls("grdLineas").ActivarScripts = True 'Activar los scripts End Sub Sub Grid_BeforeLoad(aGrid) If aGrid.Name = "grdLineas" Then 'Comprobar si la grid corresponde a las líneas 'Indicar para el campo 'Cliente' que corresponde a la colección cliente y el filtro obteniendo el valor de la columna idCliente aGrid.Campo("Cliente").Coleccion = "Clientes" aGrid.Campo("Cliente").ColeccionWhere = "WHERE idCliente =@idCliente" End If End Sub
Código C#:
using AhoraOCX; using AhoraCore; using AhoraSistema; namespace AhoraScriptsPantalla { public class AhoraConta_frmCartera_Cobros : AhoraOCX.AhoraBaseScript { public void Initialize() { (gForm.Controls["grdLineas"] as ICntGridUsuario).ActivarScripts = true; } //Para Activar este evento hay que configurar la grid. Poner en el void Initialize por ejemplo: (gForm.Controls["grdLineas"] as ICntGridUsuario).ActivarScripts = true; public void Grid_BeforeLoad(ICntGridUsuario aGrid) { if (aGrid.Name == "grdLineas") // Comprobar si la grid corresponde a las líneas { aGrid.Campo("Cliente").Coleccion = "Clientes"; aGrid.Campo("Cliente").ColeccionWhere = "WHERE IdCliente = @IdCliente"; } } } }