Principales respuestas
como mostrar un datagrisview1 en un formulario

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.
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
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 -
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.
-
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