Con estos parámetros, se permite cambiar las columnas del desplegable, e indicar cuál se utiliza como el valor "real" del combo.
Podemos utilizar las columnas 1, 2 y 3 (C1, C2 y C3). Y el orden va de acuerdo a la select que hayamos definido.
Código VB6:
--- Los valores diponibles para definir el tipo de dato de una columna de un combo son:
0 Variant
11 Boolean
17 Byte
2 Entero
3 Long
4 Simple
5 Doble
6 Moneda
7 Fecha
8 Texto
With aCombo
' Parámetros de la columna 1
.C1Nombre = "NombreC1"
.C1TipoDato = IndiceTipoDato
.C1Anchura = TamañoAncho
.NColumnas = {1,2,3}
.CActiva = {1,2,3}
End With
With gForm.Controls("IdContacto")
.NColumnas=3 'Se modifica la combo para que tenga 3 columnas
.Descripcion = "Select IdContacto,Nif, Nif as Nif2 FROM VContactosFacturacion WHERE IdCLiente = '" & gForm.Controls("IdCliente").Text &"' Order by Idcontacto"
.C1Nombre = "idContacto" 'Primera columna
.C1TipoDato = 3
.C1Anchura = 620
.C2Nombre = "Nif" 'Segunda columna
.C2TipoDato = 8
.C2Anchura = 2500
.C3Nombre = "Nif2"'Tercera columna
.C3TipoDato = 8
.C3Anchura = 2500
.CActiva = 1 'Indicamos que el valor a guardar en tabla es el de la primera columna
End WithCódigo C#:
IComboUsuario idContacto = (IComboUsuario)gForm.Controls["IdContacto"]; idContacto.NColumnas = 3; idContacto.Descripcion = "SELECT IdContacto, Nif, Nif as Nif2 FROM VContactosFacturacion WHERE IdCliente = '" + (gForm.Controls["IdCliente_0"] as IComboUsuario).Text + "' ORDER BY IdContacto"; idContacto.C1Nombre = "IdContacto"; idContacto.C2Anchura = 45; idContacto.C2TipoDato = ETipoDatoColumnaCombo.Long; idContacto.C2Nombre = "Nif"; idContacto.C2Anchura = 167; idContacto.C2TipoDato = ETipoDatoColumnaCombo.Texto; idContacto.C2Nombre = "Nif2"; idContacto.C2Anchura = 167; idContacto.C2TipoDato = ETipoDatoColumnaCombo.Texto; idContacto.CActiva = 1;