none
DataGridView Combobox Error RRS feed

  • Pregunta

  • Hola!

    Voy a tratar de explicar mi problema con el máximo de detalle.

    Tengo un formulario con un DataGridView en el cual tengo 1 combobox y 2 textbox

    DataGridView = dgwProveedores

    Boton = btnRecargarLista

    Combobox = cProveedor

    TextBox1 = tBox1

    TextBox2 = tBox2

    Al momento de cargar el formulario, cProveedor se llena con un datatable:

    Dim datatable As New DataTable
    
    Try
    
        datatable = TraerDataTableFiltroString("Proveedores",   "Razon", " WHERE eliminado = 0 ", "IdProveedor AS 'ID'", "Razon AS 'Razon'")
    
        With cProveedor
            .ValueMember = "ID"
            .DisplayMember = "Razon"
            .DataSource = datatable
        End With
    
    Catch ex As Exception
    
    End Try

    Esto sería el método cargarListaDeProveedores()

    Esto funciona de maravilla! 

    Como la lista se carga al iniciar el formulario, tengo dos operaciones que obligan a recargar la lista de proveedores

    - Agregar a un nuevo Proveedor

    - Eliminar un Proveedor

    (Ambos se hacen en otro módulo, por ende se agrega el btnRecargarLista, que únicamente llama a  cargarListaDeProveedores() nuevamente).

    Escenarios:

    A) En la lista de Proveedores cProveedor selecciono al proveedor "D" y lo dejo seleccionado. Agrego un nuevo proveedor "E", recargo la lista. OK.

    B) En la lista selecciono "A" y lo dejo seleccionado. Borro el proveedor "B", recargo la lista. OK.

    C) En la lista selecciono "F" y lo dejo seleccionado. Borro el proveedor "F", recargo la lista. Error.

    Por lo que entiendo, el error se da al querer volver a seleccionar un item que no existe (Proveedor "F") y no consigo controlar el error (que no viene del Try Catch).

    Gracias de antemano a cualquiera que me pueda dar una ayuda.

    sábado, 10 de marzo de 2012 15:58

Todas las respuestas

  • veo que el error menciona un DataBridViewComboBoxColumn que defiens en el grid

    la pregunta seria como asignas los datos a ese combo que esta dentro del datagridview ?

    porque segun parece los items que tiene ese combo no coiciden con el que quieres asignar

    [DataGridView] – Parte 4 - Uso del DataGridViewComboBoxColumn

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 10 de marzo de 2012 17:15
  • Leando, 

    Gracias por responder.

    Los combo dentro del Datagrid view, se llenan con el select que hago a la tabla Proveedores. Así puedo hacer uso del ValueMember y DisplayMember, pero al tener seleccionado un proveedor en cualquiera de los combos, al recargar la lista, el ComboBox (cProveedor) como que intenta reestablecer el mismo item que tenía antes de recargar, y al haberlo eliminado, da el error (Data Error).

    Ejemplo:

    Si dejo abierto este formulario, y voy al ABM de Proveedores y elimino, por ejemplo, el "PROVEEDOR 3", cuando recargo la lista, el Data Grid View arroja el Data Error, por lo que yo asumo, que en el combo 3, quiere cargar nuevamente "PROVEEDOR 3", pero este ya no existe en la nueva tabla que trae el select.

    Si elimino cualquier otro que no esté seleccionado, este error no ocurre.

    Saludos y gracias!

    sábado, 10 de marzo de 2012 17:55