none
Hola necesito un poco de ayuda.

    Pregunta

  • Explico lo que quiero hacer. Tengo un combobox con horas (7:00, 8:00. 9:00 etc.) lo que quiero hacer es por ejemplo si ya seleccione la hora 7:00 y guardarla en una base de datos se elimine del combobox para que al momento de agregar otra hora solo salgan todas menos la hora 7:00. Gracias de antemano. 
    jueves, 18 de agosto de 2016 19:58

Respuestas

  • Christian Siqueiros,

    ¿De dónde obtienes la lista de horas que cargas en el desplegable?.

    Si vinculas el objeto con un origen de datos -a través de la propiedad DataSource- debes recuperar las filas discriminando las que ya existan en una tabla determinada. Por ejemplo, si las horas las obtienes de la tabla [Horas] y la tabla [Registro] contiene las horas que vas insertando puedes recuperar las filas por diferencia de conjuntos:

    SELECT * FROM Horas WHERE
    NOT EXISTS (SELECT 1 FROM Registro WHERE (Registro.Hora = Horas.Hora));



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 18 de agosto de 2016 20:44
  • Hola Christian Siqueiros

    Debe utilizar RemoveAt, pasando el índice del elemento actualmente seleccionado SelectedIndex. Revise el código siguiente:

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
            ' //Primero las instrucciones para guardar los datos actuales
    
            ' // Luego quitar el elemento actualmente seleccionado.
            Dim itemSeleccionado As Integer = ComboBox1.SelectedIndex
            ComboBox1.Items.RemoveAt(itemSeleccionado)
    
    End Sub


    Si le ha servido no olive votar y proponer como respuesta.

    Saludos,


    Miguel Torres


    jueves, 18 de agosto de 2016 20:29
  • Bueno primeramente debes especificar, si los items del combobox los obtienes mediante un datasource,  o si lo digitas manualmente, si lo haces manualmente lo solucionarías con un RemoveAt, pero si lo haces mediante un datasource, deberás hacer una consulta a la base de datos, y después removerlo si la consulta te devuelve algún valor.

    Alexander Jimenez

    viernes, 19 de agosto de 2016 1:50

Todas las respuestas

  • Hola Christian Siqueiros

    Debe utilizar RemoveAt, pasando el índice del elemento actualmente seleccionado SelectedIndex. Revise el código siguiente:

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
            ' //Primero las instrucciones para guardar los datos actuales
    
            ' // Luego quitar el elemento actualmente seleccionado.
            Dim itemSeleccionado As Integer = ComboBox1.SelectedIndex
            ComboBox1.Items.RemoveAt(itemSeleccionado)
    
    End Sub


    Si le ha servido no olive votar y proponer como respuesta.

    Saludos,


    Miguel Torres


    jueves, 18 de agosto de 2016 20:29
  • Christian Siqueiros,

    ¿De dónde obtienes la lista de horas que cargas en el desplegable?.

    Si vinculas el objeto con un origen de datos -a través de la propiedad DataSource- debes recuperar las filas discriminando las que ya existan en una tabla determinada. Por ejemplo, si las horas las obtienes de la tabla [Horas] y la tabla [Registro] contiene las horas que vas insertando puedes recuperar las filas por diferencia de conjuntos:

    SELECT * FROM Horas WHERE
    NOT EXISTS (SELECT 1 FROM Registro WHERE (Registro.Hora = Horas.Hora));



    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    jueves, 18 de agosto de 2016 20:44
  • Bueno primeramente debes especificar, si los items del combobox los obtienes mediante un datasource,  o si lo digitas manualmente, si lo haces manualmente lo solucionarías con un RemoveAt, pero si lo haces mediante un datasource, deberás hacer una consulta a la base de datos, y después removerlo si la consulta te devuelve algún valor.

    Alexander Jimenez

    viernes, 19 de agosto de 2016 1:50
  • Gracias Miguel, si me sirvió solo que lo que quiero es que si cierro el form y volver a abrir el form donde esta el combobox que ya no este el item seleccionado.
    viernes, 19 de agosto de 2016 16:09
  • Hola Christian Siqueiros

    --lo que quiero es que si cierro el form y volver a abrir el form donde esta el combobox que ya no este el item seleccionado

    Para una mejor asesoría es importante que usted proporcione algunos datos:

    ¿Cuál es el propósito del formulario que está trabajando?

    ¿De dónde obtiene los datos que muestra en el ComboBox?

    Es decir, información suficiente sobre los datos y el propósito del formulario.

    Saludos,



    Miguel Torres


    viernes, 19 de agosto de 2016 16:51
  • Christian Siqueiros,

    {!}- lo que quiero es que si cierro el form y volver a abrir el form donde esta el combobox que ya no este el item seleccionado.

    No necesitas quitar elementos del desplegable, por cada operación de inserción (actualización o eliminación de ser el caso) debes volver a vincular la lista de horas restando -como te comente en el aporte anterior- las horas ya registradas en alguna tabla. Te recomiendo dar mas detalles de las tablas que intervienen en el procedimiento y la manera como cargas el desplegable de horas.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    viernes, 19 de agosto de 2016 17:30