En primer lugar cree una clase y en la clase un metodo llamado actualizarDataGrid,
en el form_load llamo a ese metodo y tambien cada bes que guardo algo en el evento click del boton Guardar, bueno algo asi:
Código
Como te das cuenta, es una metodo que no vuelve valores; y necesita dos argumentos, un datagridview y un string; el dataGridView es el que vas a actualizar, y el estring es la tabla que quieres que aparezca en ese dataGridView.
public void actualizarDataGrid(DataGridView dtg, string tabla) { da.Fill(dt); dtg.DataSource = dt; }
Ahora como utilizo, como ya sabes en la cabecera del codigo de tu formulario declaras la clase asi:
Código
Si te das cuenta mi clase se llama docentes y estoy declarando un nuevo objeto "doc" del tipo docentes. Ahora como utilizamos el metodos en el form, asi:
namespace programacionI { public partial class frmDocente : Form { public frmDocente() { InitializeComponent(); } private bool numero = false;
Código
ves que en el formulario frmDocentes ni bien abre me va a mostrar en el dataGridView "dtgDocentes" todos los datos ya guardados en la tabla "docentes" de mi base de datos. Ademas cambio el tamaño de las columnas en tiempo de ejecucion.
private void frmDocente_Load(object sender, EventArgs e) { doc.actualizarDataGrid(dtgDocentes, "docentes"); dtgDocentes.Columns[0].Width = 40; dtgDocentes.Columns[1].Width = 255; }
Ahora agregas un nuevo registro, tienes tu boton "btnGuardar" y le colocas este codigo:
Código
Como ves verifico que los textBox no esten vacios, Luego capturo el codigo y apellido y los llevo a mi metodo "guardarDocente"; ahi es donde utilizo el metodo"actualizarDatGrid", ya que el codigo de "guardarDocente" es este:
private void btnGuardar_Click(object sender, EventArgs e) { if ((txtID.Text != "") && (txtApellidos.Text != "")) { int codigo = Convert.ToInt16(this.txtID.Text); string apellidos = txtApellidos.Text; doc.guardarDocente(codigo, apellidos, dtgDocentes); } else { MessageBox.Show("Uno o mas campos no fueron llenados", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } doc.limpiarTextBox(this); txtID.Focus(); }
Código
Como vez, guardo el codigo y el nombre y apellido del docente, si se guarda bien, llamo al metodo actualizarDataGrid, si no solo sale un mensaje de error. Para que no te compliques (si lo vez complicado) utilizas el metodo actualizarDataGrid aparte en el boton y no en el metodo guardarDocente. No se como poner imagenes de mi Pc, sino te mostraria como hice mi formulario para que te guies.
public void guardarDocente(int codigo, string nombres, DataGridView dtg) { cmd.Connection = cnx; cmd.CommandText = "INSERT INTO docentes (iddoc, nomdoc) VALUES (@iddoc, @nomdoc)"; cmd.Parameters.AddWithValue("@iddoc", codigo); cmd.Parameters.AddWithValue("@nomdoc", nombres); cnx.Open(); try { cmd.ExecuteNonQuery(); MessageBox.Show("Docente ingresado exitosamente"); actualizarDataGrid(dtg, "docentes"); } catch (Exception ex) { MessageBox.Show(ex.Message); } cnx.Close(); }
Espero haberte ayudado, algun dia me dedicare a aprender vb.net