none
como mostrar un datagrisview1 en un formulario RRS feed

  • Pregunta

  • Hola muy buenos dias si alguien seria tan amable de ayudarme les agradecería mucho!!!

    tengo un datagridview1 en un formulario de visual studio 2010, me guarda bien los datos pero la tabla no se actualiza al instante. sino hasta despues qye vuelvo a ejecutar el formulario necesito saber como le hago para que despues que mande el mensaje en el que dice que el registro ya se ha guardado la tabla se actualize al instante. 

    le he puesto este codigo: dataGridView1.DataBind(); que lo utilizo para programacion web y funciona muy bien pero para los formularios no reconoce el comando "Databind" porque supongo que este es para programación en web y por lo tanto no lo muestra. si me pudieran ayudar seria genial gracias de antemano... 


    Saludos, Gilberto García.

    lunes, 15 de octubre de 2012 14:07

Respuestas

  • le he puesto este codigo: dataGridView1.DataBind(); que lo utilizo para programacion web y funciona muy bien pero para los formularios no reconoce el comando "Databind"

    pues logico porque eso es usado en los controles web unicamente, para winforms no aplica

     me guarda bien los datos pero la tabla no se actualiza al instante. sino hasta despues qye vuelvo a ejecutar el formulario necesito saber como le hago para que despues que mande el mensaje en el que dice que el registro ya se ha guardado la tabla se actualize al instante.

    despues del grabar tienes que invocar el mismo metodo o funcionalidad que realiza el SELECT a la tabla para tomar los datos de la db, con eso actualzias el grid

    private void button1_Click(object sender, EventArgs e).
    {
        guardar();

        cargargrid();

    }

    ese metodo es el que realiza la consulta, quizas sea lo mismo que usaste en el Load del form para mostrar los datos pro primer vez

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Gilberth1108 sábado, 20 de octubre de 2012 15:11
    lunes, 15 de octubre de 2012 22:53

Todas las respuestas

  • Hola.

    Lo que tienes que hacer es actualizar el origen de datos es decir después que hagas el update volver a consultar la bd.

    Podrías hacer.

    //metodo para consultar la bd
    public DataTable Cargar()
    {
         using (SqlConnection conn = new SqlConnection(CadenaConexion))
         {
                    DataTable dt = new DataTable();
                    string query = "SELECT * FROM TABLA";
                    SqlCommand cmd = new SqlCommand(query, conn);
                    SqlDataAdapter adap = new SqlDataAdapter(cmd);
                    adap.Fill(dt);
                    return dt;
         }
    }
    
    //cargas los datos en el formulario
    private void Form1_Load(object sender, EventArgs e)
    {
         dataGridView1.DataSource = Cargar();
    }
    
    //en el evento click donde actualizas los datos arias
    private void btnupdate_Click(object sender, EventArgs e)
    {
       //aqui haces el update
    
    
       //actualizas los datos del datagrid consultando el metodo Cargar()
       dataGridView1.DataSource = Cargar();
    }

    Como veras tendrias un metodo que hace la consulta a la bd y retorna los datos en un datatable entonces cada vez que hagas el update a la bd solo tendrias que llamar este metodo para que te muestre los datos actualizados.


    Cristian Torres
    Blog Cristian Torres

    El Salvador - San Salvador

    lunes, 15 de octubre de 2012 17:23
  • hola cristian!!! gracias por tu respuesta!!! veras no entiendo mucho como te podras dar cuenta... lo que pasa es que yo quiero que  despues de que me salga el mensaje en pantalla de que ya se ha guardado el registro!!!! me muestre en el datagridview1 el nuevo registro junto con los demas registros que se han hecho. y no con un botón de actualizar.. cabe mencionar que el datagridview1 si muestra el registro pero cuando lo ejecuto la segunda vez es decir debo terminar la depuracion y volver a ejecutar para que me muestre el dato guardado anteriormente!!! el codigo que estoy utilizando es el siguiente: 

                                     

    public void guardar()         
            {

                SqlConnection sqlc = new SqlConnection("Data Source=GILBERTH-PC;Initial Catalog=SITEMA_COMPUTO;User ID=sa;Password=gilberto");
                sqlc.Open();         
                SqlCommand cmd = new SqlCommand("INSERT INTO areas(cve_area,nombre_area,capacidad,estatus) VALUES('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + comboBox1.Text + "')", sqlc);
                cmd.ExecuteNonQuery();

    // cuando es progranación en web utilizo este pequeño codigo: "GridView1.DataBind();" para que despues de guardar me muestre la tabla actualizada pero como lo que en este momento estoy utilizando es programación local pues cambia.. y supongo que debe haber algo asi como eso para que mi tabla se actualice-- al darme cuenta que la tabla no se me actualizara le cambie poquito a ese codigo le puse "dataGridView1.DataBind();" porque es el nombre del elemento pero no reconoce el Databind();
                sqlc.Close();
                MessageBox.Show("El Registro ha sido Guardado");        

     private void button1_Click(object sender, EventArgs e).
            {
              guardar();

    todo este codigo me guarda de manera perfecta!!! pero despues de guardar no permite que el usuario vea realmente si guardo el registro porque no aparece en la tabla!!!! gracias de antemano por tu valioso tiempo.. agradecere mil tu respuesta!!! gracias!!!!

     

    Saludos, Gilberto García.

    lunes, 15 de octubre de 2012 19:32
  • le he puesto este codigo: dataGridView1.DataBind(); que lo utilizo para programacion web y funciona muy bien pero para los formularios no reconoce el comando "Databind"

    pues logico porque eso es usado en los controles web unicamente, para winforms no aplica

     me guarda bien los datos pero la tabla no se actualiza al instante. sino hasta despues qye vuelvo a ejecutar el formulario necesito saber como le hago para que despues que mande el mensaje en el que dice que el registro ya se ha guardado la tabla se actualize al instante.

    despues del grabar tienes que invocar el mismo metodo o funcionalidad que realiza el SELECT a la tabla para tomar los datos de la db, con eso actualzias el grid

    private void button1_Click(object sender, EventArgs e).
    {
        guardar();

        cargargrid();

    }

    ese metodo es el que realiza la consulta, quizas sea lo mismo que usaste en el Load del form para mostrar los datos pro primer vez

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Gilberth1108 sábado, 20 de octubre de 2012 15:11
    lunes, 15 de octubre de 2012 22:53