C sharp - Actualizar datos de un datagridview

 
Vista:

Actualizar datos de un datagridview

Publicado por Martin Cabrera (1 intervención) el 04/10/2016 02:05:44
hola mi duda es la siguiente estoy trabajando con un datagridview que muestra datos de una tabla llamada personas. Yo ingreso nuevas personas con unos textbox que cree y se que se agregan a la tabla llamada personas de mi base de datos access hasta ahí todo me funciona perfectamente pero no logro visualizar en mi datagridview los nuevos datos ingresados solo si le cierro y le vuelvo abrir el programa ya me salen los datos que agrege.

Sera que existe algun comando para actualizar los datagrid view o algo asi?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 356
Plata
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Actualizar datos de un datagridview

Publicado por Miguel (160 intervenciones) el 04/10/2016 05:53:10
Hola,
¿Cómo cargas los datos al DataGridView?... Luego del proceso (insertar/actualizar/eliminar) podrías repetir la carga de los datos, o modificar "manualmente" la fila del DataGridView.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis David
Val: 8
Ha aumentado su posición en 12 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Actualizar datos de un datagridview

Publicado por Luis David (4 intervenciones) el 06/10/2016 22:05:38
Hola una de las formas de actualizar un datagridview " la que yo uso " es volver a realizar la consulta a tabla o tablas en las que realice un insert,delete o update y mostrar ese resultado en el datagridview.


te comparto un método que seguro te ayudara mucho


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
MySqlConnection conexion = new MySqlConnection("Server=localhost;Database=tuBasedeDatos; Uid=root;Pwd='';");
 
 public void llenarGrid(String comando,DataGridView  grid) {
 
            MySqlCommand cmd = new MySqlCommand(comando, conexion);
 
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            System.Data.DataTable dt = new System.Data.DataTable();
            da.Fill(dt);
 
 
            grid.DataSource = dt;
 
 
        }

Necesitas pasarle como parametro tu sentencia SQL y el nombre de tu datagrid. Con este codigo se llenara tu datagrid con los datos que te traiga tu consulta SQL


Espero que te sirva de algo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel F.
Val: 63
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Actualizar datos de un datagridview

Publicado por Manuel F. (33 intervenciones) el 04/10/2016 06:14:02
Buenas Noches !!!

No soy un experto en C#, todavía en etapa de aprendizaje (porque me falta mucho, peo ahí vamos !!!), pero cuando hago uso de un DGV (DataGridView), uso estos métodos para mantenerlo actualizado...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#region Configuración y carga del DataGridView "dgvInventario".
private void EstiloDelGrid()
{
      // Aquí se dan los estilos al grid del DGV...
      // -------------------------------------------------------------------------------------------------------------------
      DataGridViewCellStyle estiloDGV = dgvInventario.ColumnHeadersDefaultCellStyle;
      //
      dgv = dgvInventario;
      //
      estiloDGV.Font = new Font("Tahoma", 10.0F, FontStyle.Bold);
      estiloDGV.BackColor = Color.MediumBlue;
      estiloDGV.ForeColor = Color.Azure;
      //
      // Se oculta la primera columna, se da estilo a las celdas...
      dgv.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
      dgv.ColumnHeadersHeight = 25;
      dgv.RowHeadersVisible = false;
      dgv.RowsDefaultCellStyle.BackColor = Color.WhiteSmoke;
      dgv.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
      dgv.MultiSelect = false;
}
 
private void ConfigurarTodasLasColumnas()
{
      // Configurando las Columnas del tipo TextBox...
      dgvInventario.Refresh();
      dgvInventario.Font = new Font("Arial", 10.0F, FontStyle.Regular);
      if (dgvInventario.ColumnCount >= 0)
      {
            // Alineando el contenido de algunas columnas específicas...
            dgvInventario.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvInventario.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            dgvInventario.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            dgvInventario.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            dgvInventario.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
            dgvInventario.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            // Formateando la primera, 5ta y 6ta columna...
            dgvInventario.Columns[0].DefaultCellStyle.Format = "0000000";
            dgvInventario.Columns[4].DefaultCellStyle.Format = "#,###.#0 Bs";
            dgvInventario.Columns[5].DefaultCellStyle.Format = "000";
            // Haciéndolas no editables...
            for (int j = 0; j <= 5; j++)
            {
                  dgvInventario.Columns[j].ReadOnly = true;
            }
            // Ajustando el ancho...
            dgvInventario.Columns[0].Width = 75;     // Código...
            dgvInventario.Columns[1].Width = 200;     // Artículo...
            dgvInventario.Columns[2].Width = 300;     // Descripción...
            dgvInventario.Columns[3].Width = 150;     // Presentación...
            dgvInventario.Columns[4].Width = 120;     // Precio Unitario...
            dgvInventario.Columns[5].Width = 85;     // Existencia...
      }
      dgvInventario.ClearSelection();
}
 
private void CargarElDataGV()
{
      string sql = "SELECT Articulo.CodigoArticulo AS Código, " + "Articulo.Articulo AS Artículo, " +
                   "Articulo.Descripcion AS Descripción, " + "Articulo.Presentacion AS Presentación, " +
                   "Articulo.PrecioPorUnidad AS [Precio Unitario], " + "ArticuloEntrada.Cantidad AS Existencia " +
                   "FROM Articulo, ArticuloEntrada " +
                   "WHERE Articulo.CodigoArticulo = ArticuloEntrada.CodigoArticulo";
      OleDbDataAdapter dad = new OleDbDataAdapter(sql, conexion);
      DataSet dst = new DataSet();
      //
      dad.Fill(dst, "Código");
      dad.Fill(dst, "Artículo");
      dad.Fill(dst, "Descripción");
      dad.Fill(dst, "Presentación");
      dad.Fill(dst, "[Precio Unitario]");
      dad.Fill(dst, "Existencia");
      //
      dgvInventario.DataSource = dst.Tables[0].DefaultView;
}
#endregion

Bien, con estos 3 métodos, estoy actualizando al DGV, cada vez que los llamo: con EstiloDelGrid() se configura y personaliza el 'grid'; con ConfigurarTodasLasColumnas() se preparan y formatean la(s) columna(s) y por último y principal, CargarElDataGV(), cada vez que se invoca, por norma, actualiza el DGV. Ah se me olvidaba, la llamada a estos 3 métodos, sencillamente la hago desde un botón 'Actualizar', tú lo podrías hacer también desde los eventos Click o CellClick, o el que más te convenga...

Este fue una pequeña app que hice a manera de 'Test', para probar el funcionamiento y comportamiento de un DGV bajo C# (ya que recién migré -hace unos 8 mese más o menos- de Visual Basic 2013), y así poder ver la forma de implementarla en las app's que requieran de su uso.

Espero pueda servirte de algo, y poir favor si alguien las puede mejorar, hágalo y suba la mejora


Saludos !!!



Manuel F. Borrego Sterling
Barcelona, Edo. Anzoátegui. Venezuela.
[Mientras nos permitan seguir comunicándonos...!!!]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar