sábado, 23 de abril de 2011

Concatenar Columnas en un ComboBox
Muchos de nosotros estoy seguro, hemos intentado
cambiar esa vista que tiene el combobox y
me refiero al cambo que muestra en su propiedad DisplayMember
es aburrido y poco descriptivo mostrar solo el codigo
en algunos casos Ojo no digo siempre , pero en su gran mayoria.
Como La teoria es tambien importantee
les dejo una tablita Para que la Repasen












Buenoo Ya tenemos Lo Basico y sim mas Floro
les Dejo El Siguiente Ejempliooo .En Sql Server Escribimos en el Query lo siguiente

--CREAMOS EL SCRIP PARA VISUALIZAR UNA DESCRIPCION PERSONALIZADA
--VOY A TOMAR EN CONSIDERACION MI TABLA QUE YA TENGO CREADA
--LLAMADA TG_LINEA

SELECT IDLINEA,
CONVERT(VARCHAR,'[' + IDLINEA + ']' + SPACE(3) + DESLINEA) AS DESCRIPCION
FROM TG_LINEA L

EL RESULTADO SERA EL SIGUIENTE









Y LUEGO NUESTRO CODIGO EN VB.NET SERA MASOMENOS EL SIGUIENTE

Imports System.Data.SqlClient
Imports System.Configuration

Public Class CboExample
    'ESTABLECEMOS LA CONCECION  ES ESTE CASO MI ConnectionStrings SE
    'ENCUENTRA EN MI ARCHIVO DE CONFIGURACION
    Dim CN As New SqlConnection(ConfigurationManager.ConnectionStrings("cn").ConnectionString)
    'ESTABLECEMOS EL SCRITP Y LO ALMACENAMOS
    Dim Query As String = "SELECT IDLINEA, " & _
    "CONVERT(VARCHAR,'[' + IDLINEA + ']' + SPACE(3) + DESLINEA) AS DESCRIPCION" & _
    "FROM TG_LINEA L"
    'INSTACIAMOS NUESTRO CONTENEDOR DE DATOS
    Dim DT As New DataTable

    Private Sub CboExample_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'DECLARAMOS Y PASAMOS LOS PARAMATROS AL DATAADAPTER
        Dim DA As New SqlDataAdapter(Query, CN)
        DT.Clear() : DA.Fill(DT) 'LIMPIAMOS NUESTRO DATATABLE Y LO LLENAMOS
        With ComboBox1
            .DataSource = DT ' LLENAMOS EL  CBO
            .DisplayMember = "DESCRIPCION" ' OBTENEMOS EL CAMPO CREADO EN SQL
            .ValueMember = "IDLINEA" 'OBTENEMOLS EL VALOR DEL CAMPO
            .DropDownWidth = 250 ' EL TAMAÑO DE DE LA LISTA
        End With
    End Sub
End Class

FINALMENTE SE VISUALIZARA ASI: