none
Refrescar datagridview al cerrar un formulario RRS feed

  • Pregunta

  • Buenas tengo un formulario con un datagridview donde muestro una serie de artículos y al hacer doble click aparece un menú contextual que a su vez abre un formulario , hace unas modificaciones en la tabla de artículos
    y al terminar REFRESCA los datos del datagridview con los cambios pero no VEO que me refresque los canvios.

    Al hacer el load al formulario en el load tengo esto

    cargarDatosArticulosParametros();

    Luego tengo la función que carga los datos de la tabla Artículos y los muestra en un datagridview

            private void cargarDatosArticulosParametros()
            {           
                using (SqlConnection Conn = new SqlConnection(ConnString))
                {
                    Conn.Open();                
                    DataTable dt = new DataTable();
                    string query = "Select P.nombre as nombreProveedor , ... from Articulos A .........";
                    SqlCommand cmd = new SqlCommand(query, Conn);
                    cmd.Parameters.AddWithValue("@pvpDesde", DataUtils.blanco_A_DBNull(txtPvp1.Text));
                    cmd.Parameters.AddWithValue("@pvpHasta", DataUtils.blanco_A_DBNull(txtPvp2.Text));
                    SqlDataAdapter adap = new SqlDataAdapter(cmd);
                    adap.Fill(dt);
                    dgvArticulosBuscar.DataSource = dt;
                }
            }
    

    Hasta aquí funciona correctamente ya que muestra los artículos que hay.


    Pero si abro esta nueva ventana y edito la ficha de artículos que lo hago de esta manera dentro de un menú contextual .
            private void regularizarStockToolStripMenuItem_Click(object sender, EventArgs e)
            {
    
    
                DataGridViewRow row = this.dgvArticulosBuscar.CurrentRow;
    
                int idArticulo = Convert.ToInt32(row.Cells[0].Value);
                int tienda = varGlobales.tiendaSeleccionadaGlobal;
                string descripcion = Convert.ToString(row.Cells["descripcion"].Value);
                int proveedor = Convert.ToInt32(row.Cells["idproveedor"].Value);
    
                RegularizarStock stock = new RegularizarStock(idArticulo,proveedor, tienda, descripcion);
                stock.FormClosed += cerrar_Formulario_CrearArticuloNuevo;
                stock.Show();
    
            }
    Lo que hago en cerrar_Formulario_CrearArticuloNuevo es nada más que llamar a la función primera de cargarDatosArticulosParametros para que recargue los datos pero sigo viendo los datos tal como estaban , solo
    los veo refrescados si cierro el formulario y lo vuelvo a abrir entonces si veo los cambios.

    Gracias,

    martes, 27 de septiembre de 2016 15:42

Respuestas

  • hola

    >>Lo que hago en cerrar_Formulario_CrearArticuloNuevo es nada más que llamar a la función primera de cargarDatosArticulosParametros para que recargue los datos pero sigo viendo los datos tal como estaban

    la tecnica que aplicas es correcta

    Si pones un breakpoint puedes validar que ingresa al cerrar_Formulario_CrearArticuloNuevo?

    la base de datos esta en el servicio de sql server o tiene el .mdf adjunto al proyecto?

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta golfgti6 jueves, 9 de marzo de 2017 19:27
    martes, 27 de septiembre de 2016 15:55