En ocasiones necesitamos que un campo se autonumere. Para ello utilizamos la propiedad de columna del grid llamada Default.
Código VB6:
Sub Main() frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO. Set lFrm = gcn.ahoraproceso ("NewFrmMantenimiento",False,gcn) lfrm.Form.NombreForm = "Pers_frmMant_Idiomas" With lFrm.Grid("Idiomas") ' NO_TRADUCIR_TAG .Agregar = True .Editar = True .Eliminar = True .CargaObjetos = False .EditarPorObjeto = False .Grid.HeadLines = 2 .AgregaColumna "IdIdioma", 2500, "Id.Idioma", False .AgregaColumna "Descrip", 2500, "Descripción",False .campo ("IdIdioma").Default = "Select isnull(max(IdIdioma),0) +1 from Idiomas" .From = "Idiomas" .Where = "" .ColumnaEscalada = "Descrip" .OrdenMultiple = "Descrip" .RefrescaSinLoad = True .Refresca = True End With lFrm.Form.Caption = "Mantenimiento de Idiomas " lFrm.Carga , False, 4 End Sub
Código C#:
using AhoraAsistentes; using AhoraCore; using AhoraOCX; using AhoraSistema; namespace AhoraScriptsVacia { public class Script_0 : AhoraOCX.AhoraBaseScript { public void Main() { IFrmMantenimientos lFrm = (IFrmMantenimientos)gCn.AhoraProceso("NewFrmMantenimiento", out _, gCn); lFrm.NombreForm = "Pers_frmMant_Idiomas"; ICntGridUsuario lGrid = lFrm["Idiomas"]; lGrid.Agregar = true; lGrid.Editar = true; lGrid.Eliminar = true; lGrid.CargaObjetos = false; lGrid.EditarPorObjeto = false; lGrid.GridHeadLines = 2; lGrid.AgregaColumna("IdIdioma", 133, "Id.Idioma", false); lGrid.AgregaColumna("Descrip", 133, "Descripción", false); lGrid.Campo("IdIdioma").Default = "Select isnull(max(IdIdioma),0) +1 from Idiomas"; lGrid.From = "Idiomas"; lGrid.Where = ""; lGrid.ColumnaEscalada = "Descrip"; lGrid.OrdenMultiple = "Descrip"; lGrid.RefrescaSinLoad = true; lGrid.Refresca = true; lFrm.Form.Text = "Mantenimiento de Idiomas"; lFrm.Carga(null, false, EBotonesMant.eBotMant_Cerrar); } } }