none
como agregar un campo vacio a un ComboBox en VB.NET RRS feed

  • Pregunta

  • hola,tengo un formulario donde realizo varios filtros uno de ellos es un comboBox donde aparecen las marcas de productos, para filtrar por marcas. Mi duda es como hago para que aparezca un campo tipo vacío en el comboBox que me represente que no seleccione una marca(osea que no filtre por marcas)

    Así cargo el comboBox con las marcas:

    Public Sub llenarCbxMarca()
            Dim tabla As New DataTable
            Dim sqlCon As String = "SELECT idMarca, nombreMarca FROM marca"
            Dim adp As New OleDbDataAdapter(sqlCon, conn)
            adp.Fill(tabla)

            cbxFiltrarMarca.DataSource = tabla
            cbxFiltrarMarca.DisplayMember = "nombreMarca"

            cbxFiltrarMarca.ValueMember = "idMarca"
        End Sub


    • Editado paul221296 domingo, 4 de agosto de 2019 15:15
    domingo, 4 de agosto de 2019 15:15

Todas las respuestas

  • Hola Paul, tal vez debas desarrollar mas tu preguta, porque de la manera que lo presentas estas cargando al ComboBox con los datos de la tabla sería lógico que si utilizas el control sería para filtrar un dato cargado, ahora si lo que quieres es que esté vacío al momento de la presentación puedes optar con colocar seguido de la carga ComboBox1.Text ="" , pero me da la impresión que es otro el motivo de tu consulta

    Saludos


    ARA San Juan 44 HEROES     ‗‗‗‗­|||||‗‗‗‗‗

    domingo, 4 de agosto de 2019 17:10
  • Hola:
    Prueba el siguiente codigo

    Public Sub llenarCbxMarca()
            Dim tabla As New DataTable
            Dim sqlCon As String = "SELECT idMarca, nombreMarca FROM marca"
            Dim adp As New OleDbDataAdapter(sqlCon, conn)
            adp.Fill(tabla)

            If tabla.Rows.Count > 0 Then
               'Creamos un nuevo registro para el elemento en blanco
                Dim loFila As DataRow = tabla.NewRow()
                loFila.Item(idMarca) = 0
                loFila.Item(nombreMarca) = ""
               ' Insertamos la nueva fila en la primera posición del objeto DataTable.
                tabla.Rows.InsertAt(loFila, 0)
            End If
            cbxFiltrarMarca.DataSource = tabla
            cbxFiltrarMarca.DisplayMember = "nombreMarca"
            cbxFiltrarMarca.ValueMember = "idMarca"
    End Sub

    Un saludo desde Bilbo
    Carlos

    • Editado J. Carlos Herrero martes, 6 de agosto de 2019 4:41
    • Propuesto como respuesta eRiver1 miércoles, 7 de agosto de 2019 15:11
    martes, 6 de agosto de 2019 4:40