none
Actualizar datagridview al cambiar el valor de un combobox C# RRS feed

  • Pregunta

  • Hola como dice el titulo intento actualizar una grilla al cambiar el valor de un combobox, 

    utilizo el evento SelectedValueChanged , este es parte del codigo:

      private void cmbClientes_SelectedValueChanged(object sender, EventArgs e)
            {
    
                if (cmbClientes.SelectedIndex != -1)
                {
                   var listaCompras = from c in dc.Compras where c.CodigoCliente == Convert.ToInt32(cmbClientes.SelectedValue.ToString()) select c;
    
                   
                 if(listaCompras!= null)
                 {   
                        foreach (Compra compra in listaCompras)
                        {
                            articulo = (from a in dc.Articulos where a.CodigoArticulo == compra.codigoArticulo select a).Single();
    
                            dgvCompras.Rows.Add(articulo.CodigoArticulo, articulo.Descripcion, articulo.Precio);
                        }
    
    
    
                 }
               }
              
            }

    Cuando ejecuto, en el foreach me dice "La cadena de entrada no tiene el formato correcto."

    gracias

    lunes, 21 de enero de 2013 22:30

Todas las respuestas

  •  H O L A ! ! ! !

    MIRA CUANDO TE SALE UN ERROR DE ESE TIPO ENTONCES DEBES DE EVALUAR CUANTOS DATOS TIENES Y QUE TIPO DE DATOS SON Y DEBEN COINCIDIR, SI TU DTGV ESTA LLENADO A TRAVES DEL FILL POR MEDIO DE UNA CONSULTA, EL TIPO DE DATOS ES LO QUE TE ARROJA LA CONSULTA EN OCASIONES SOLO ES CUESTION DE HACER UN PARSE Y LISTO.

     S A L U D O S                                 :-D


    Si esta respuesta fue de utilidad o resolvio tu duda favor de hacernoslo saber marcando como "Util" o "Marcar como respuesta"

    lunes, 21 de enero de 2013 22:40
  • si es un combo que esta dentro del grid acaso usas el EditingControlShowing para asignar el evento ? como lo explico aqui

    [DataGridView] - Parte 6 - ComboBox y evento SelectedIndexChanged

    Cuando ejecuto, en el foreach me dice "La cadena de entrada no tiene el formato correcto."

    ese mensaje seguro se da porque cuando haces

    Convert.ToInt32(cmbClientes.SelectedValue.ToString())

    el valor seleccionado no es un int valido, si pones un breakpoint en el ecvento puedes validar que valor toma el selectedvalue ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 21 de enero de 2013 23:03
  • Hola Leandro, el combo esta fuera del grid, es por eso que utilizo el evento SelectedValueChanged
    lunes, 21 de enero de 2013 23:41
  • ahh entonces sua el evento SelectionChangeCommited

    este evento funciona mejor

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    lunes, 21 de enero de 2013 23:43