locked
Mostrar en blanco un combobox al cargar el formulario. RRS feed

  • Pregunta

  • Estimados,

    necesito saber como puedo dejar un combobox en blanco o que dija:"seleccione una opcion" al momento de cargar un formulario,

    para luego, cargar mis comboboxs con procedimientos almacenados.

    gracias de antemano!

    Saludos!

    PD:Visual studio 2008 (frameworks 3.5)

    viernes, 6 de julio de 2012 20:59

Respuestas

  • "Gonaxo" preguntó:

    > necesito saber como puedo dejar un combobox en blanco o que dija:
    > "seleccione una opcion" al momento de cargar un formulario,
    >
    > para luego, cargar mis comboboxs con procedimientos almacenados.

    Hola:
     
    Si el control ComboBox se encuentra enlazado a un origen de datos, no se puede modificar su colección «Items», por lo que obtendrás una excepción a la hora de añadir manualmente el elemento «Seleccione una opción», o te lo eliminará de la colección si el elemento lo has añadido antes de especificar un valor a la propiedad «DataSource».
     
    La solución es bien fácil. Si no deseas añadir un nuevo registro a la tabla que utilizas como origen de datos, para que también figure el elemento «Seleccone una opción», tendrás que rellenar manualmente el control ComboBox de la siguiente manera:

        ' Añadimos el primer elemento. 
        ' 
        ComboBox1.Items.Add("Seleccione una opción")
    
        ' Abrimos una conexión con una base de SQL Server
        ' para recuperar el nombre de todos los Clientes 
        ' existentes en la base de datos. 
        ' 
        Using cnn As New SqlConnection(cadena de conexión)
    
            Try 
                Dim cmd As SqlCommand = cnn.CreateCommand()
                cmd.CommandText = "SELECT * FROM Clientes" 
    
                ' Abrimos la conexión 
                ' 
                cnn.Open()
    
                Dim dr As SqlDataReader = _ 
                    cmd.ExecuteReader(CommandBehavior.CloseConnection)
    
                ' Mientras recorremos el objeto DataReader, 
                ' llenamos de elementos el control ComboBox. 
                ' 
                While dr.Read() 
                    ComboBox1.Items.Add(dr("Nombre").ToString()) 
                End While
    
                ' Cerramos el lector de datos e implícitamente 
                ' la conexión abierta. 
                ' 
                dr.Close()
    
            Catch ex As Exception 
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Using
    
        ' Seleccionamos el primer elemento 
        ' 
        ComboBox1.SelectedIndex = 0

    Este código lo podrías ejecutar, por ejemplo, en el evento Load del formulario que contiene el control ComboBox.

    Obviamente, el control ComboBox rellenado de la manera explicada, NO ESTARÁ ENLAZADO a ningún origen de datos.
     
    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Gonaxo lunes, 9 de julio de 2012 12:57
    sábado, 7 de julio de 2012 15:02
    Moderador

Todas las respuestas

  • Hola intenta con esto 
        tucombobox.SelectedIndex = -1
    
    'la otra opcion 
    Combobox.Text="Seleccione la opcion"
    todo esto dentro del evento load del formulario
    viernes, 6 de julio de 2012 21:02
  • Hola Amigo:

    como puedo dejar un combobox en blanco

    ComboBox1.Items.Clear()

    que dija:"seleccione una opcion" 

    ComboBox1.Text  "<<<Seleccione una Opción>>>"

    Espero te sirva.

    Saludos!




    Luis Escobar :D

    sábado, 7 de julio de 2012 14:49
  • "Gonaxo" preguntó:

    > necesito saber como puedo dejar un combobox en blanco o que dija:
    > "seleccione una opcion" al momento de cargar un formulario,
    >
    > para luego, cargar mis comboboxs con procedimientos almacenados.

    Hola:
     
    Si el control ComboBox se encuentra enlazado a un origen de datos, no se puede modificar su colección «Items», por lo que obtendrás una excepción a la hora de añadir manualmente el elemento «Seleccione una opción», o te lo eliminará de la colección si el elemento lo has añadido antes de especificar un valor a la propiedad «DataSource».
     
    La solución es bien fácil. Si no deseas añadir un nuevo registro a la tabla que utilizas como origen de datos, para que también figure el elemento «Seleccone una opción», tendrás que rellenar manualmente el control ComboBox de la siguiente manera:

        ' Añadimos el primer elemento. 
        ' 
        ComboBox1.Items.Add("Seleccione una opción")
    
        ' Abrimos una conexión con una base de SQL Server
        ' para recuperar el nombre de todos los Clientes 
        ' existentes en la base de datos. 
        ' 
        Using cnn As New SqlConnection(cadena de conexión)
    
            Try 
                Dim cmd As SqlCommand = cnn.CreateCommand()
                cmd.CommandText = "SELECT * FROM Clientes" 
    
                ' Abrimos la conexión 
                ' 
                cnn.Open()
    
                Dim dr As SqlDataReader = _ 
                    cmd.ExecuteReader(CommandBehavior.CloseConnection)
    
                ' Mientras recorremos el objeto DataReader, 
                ' llenamos de elementos el control ComboBox. 
                ' 
                While dr.Read() 
                    ComboBox1.Items.Add(dr("Nombre").ToString()) 
                End While
    
                ' Cerramos el lector de datos e implícitamente 
                ' la conexión abierta. 
                ' 
                dr.Close()
    
            Catch ex As Exception 
                MessageBox.Show(ex.Message)
    
            End Try
    
        End Using
    
        ' Seleccionamos el primer elemento 
        ' 
        ComboBox1.SelectedIndex = 0

    Este código lo podrías ejecutar, por ejemplo, en el evento Load del formulario que contiene el control ComboBox.

    Obviamente, el control ComboBox rellenado de la manera explicada, NO ESTARÁ ENLAZADO a ningún origen de datos.
     
    Un saludo


    Enrique Martínez
      [MS MVP - VB]

    Nota informativa: La información contenida en este mensaje, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en el presente mensaje.

    Si esta respuesta le ha resultado útil, recuerde marcarla como satisfactoria.

    Si usas Visual Basic .NET y deseas ser productivo y feliz, activa la instrucción Option Strict.

    • Marcado como respuesta Gonaxo lunes, 9 de julio de 2012 12:57
    sábado, 7 de julio de 2012 15:02
    Moderador