Para mostrar los datos de una consulta SQL en un cambo de tipo Combo dentro de un grid y guardar su Id hay que rellenar el parámetro que corresponde a "Valores" en "AgregarColumna".
Si el campo existe actualmente y se quiere modificar (que esté mostrando y guardando el mismo campo) hay que modificar la propiedad "ValueItems", normalmente estableciendo la misma consulta SQL que el campo
NOTA: No se recomienda usar esta propiedad en columnas que puedan contener muchos registros (como proveedores, clientes, etc.) porque puede penalizar seriamente el rendimiento.
Código VB6:
En este ejemplo mostraríamos la descripción del artículo y guardaríamos su id.
.AgregaColumna "IdArticulo", 1500, "Artículo", False, "Select IdArticulo,IdArticulo IdArt,Descrip From VCombo_Articulos", , , , "Select IdArticulo, Descrip From VCombo_Articulos"
En el siguiente ejemplo modificamos la propiedad ValueItems de la columna existente "IdArticulo" para que muestre la descripción y guarde la id del artículo.
With gForm.Controls("grdLineas") .Campo("IdArticulo").ValueItems = .Campo("IdArticulo").Combo End with
Código C#:
En este ejemplo mostraríamos la descripción del artículo y guardaríamos su id.
(gForm.Controls["grdLineas"] as ICntGridUsuario).AgregaColumna("IdArticulo", 100, "Artículo", false, "Select IdArticulo,IdArticulo IdArt,Descrip From VCombo_Articulos", false, "", false, "", false, "Select IdArticulo, Descrip From VCombo_Articulos");
En el siguiente ejemplo modificamos la propiedad ValueItems de la columna existente "IdArticulo" para que muestre la descripción y guarde la id del artículo.
(gForm.Controls["grdLineas"] as ICntGridUsuario).Campo("IdArticulo").ValueItems = (gForm.Controls["grdLineas"] as ICntGridUsuario).Campo("IdArticulo").Combo;