Este es un ejemplo básico que puede servir como plantilla para una solución más avanzada. El campo @Prueba se puede añadir primero mediante configuración de Grid o definirlo como guste en código F10. Podría ser cualquier otro campo adaptando lo necesario de este código F10 que se muestra a continuación.
Código VB6:
Sub Initialize()
gForm.Controls("grdLineas").ActivarScripts = True
End Sub
Sub Grid_AfterLoad(aGrid)
aGrid.Campo("@Prueba").Column.Button = True
aGrid.Campo("@Prueba").Column.ButtonText = True
aGrid.Campo("@Prueba").Column.ButtonAlways= True
End Sub
Sub Grid_RowColChange(aGrid, LastRow, LastCol)
Select Case aGrid.Name
Case "grdLineas"
Select Case aGrid.CampoActual
Case "@Prueba"
MsgBox "ROWCOLCHANGE.Estoy en el campo deseado"
End Select
End Select
End Sub
Sub Grid_DblClick(aGrid)
Select Case aGrid.Name
Case "grdLineas"
Select Case aGrid.CampoActual
Case "@Prueba"
MsgBox "Estoy en el campo deseado"
End Select
End Select
End SubCódigo C#:
using AhoraOCX;
using AhoraCore;
namespace AhoraScriptsPantalla
{
public class AhoraCl_frmPedidos : 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_AfterLoad(ICntGridUsuario aGrid)
{
if (aGrid.Name == "grdLineas")
{
aGrid.Campo("@Prueba").Column.Button = true;
aGrid.Campo("@Prueba").Column.ButtonText = true;
aGrid.Campo("@Prueba").Column.ButtonAlways = 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_RowColChange(ICntGridUsuario aGrid, Valor LastRow, Valor LastCol)
{
if (aGrid.Name == "grdLineas")
{
if (aGrid.CampoActual == "@Prueba")
{
AhoraCore.VBA.Interaction.MsgBox("ROWCOLCHANGE.Estoy en el campo deseado");
}
}
}
//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_DblClick(ICntGridUsuario aGrid)
{
if (aGrid.Name == "grdLineas")
{
switch (aGrid.Columns[aGrid.Col].DataField)
{
case "@Prueba":
{
AhoraCore.VBA.Interaction.MsgBox("Estoy en el campo deseado");
break;
}
}
}
}
}
}