Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Caligula en 6 Noviembre 2018, 21:08 pm



Título: pasar datos de un datagridview a otro en el mismo formulario
Publicado por: Caligula en 6 Noviembre 2018, 21:08 pm
Hola alguien me puede ayudar con algún ejemplo de un datagridview que pase la información a otro en el mismo formulario y que se modifique la cantidad soy principiante en c# se los agradeceré mucho  :-\


Título: Re: pasar datos de un datagridview a otro en el mismo formulario
Publicado por: Eleкtro en 21 Noviembre 2018, 01:48 am
un datagridview que pase la información a otro

El planteamiento que has descrito no parece ser el más apropiado. Te explico. Por la forma en la que lo has dicho, imagino que tú estarás rellenando manualmente, me refiero, añadiendo los elementos manualmente al DataGridView, bien, pues no debes hacer eso a menos que exista un motivo lo suficientemente razonable; en su lugar lo que deberías hacer es declarar un objeto de tipo System.Data.DataTable que usarás para construir las columnas y filas de la tabla, entonces, usas la propiedad DataGridView.DataSource para especificar la tabla que creaste, y los cambios que hagas los haces en dicha tabla, no directamene en el control DataGridView. Esto quita por completo la necesidad o planteamiento de "pasar los datos de un datagridview a otro", puesto que puedes especificar el mismo DataSource en los DataGridView que quieras, y, cada vez que realices un cambio en dicha tabla, este cambio se verá reflejado en todos los DataGridView.

Espero haberme explicado lo suficientemente bien. Dicho esto, tienes documentación y ejemplos en microsof.docs...

  • How to: Bind Data to the Windows Forms DataGridView Control (https://docs.microsoft.com/en-us/dotnet/framework/winforms/controls/how-to-bind-data-to-the-windows-forms-datagridview-control)
  • DataGridView.DataSource Property (https://docs.microsoft.com/es-es/dotnet/api/system.windows.forms.datagridview.datasource?view=netframework-4.7.2)

Un ejemplo simplificado (muy, muy básico):

Código
  1. DataTable dt = new DataTable();
  2. ...
  3.  
  4. dt.Columns.Add("col1");
  5. dt.Rows.Add("row1");
  6. dt.Rows.Add("row2");
  7. dt.Rows.Add("row3");
  8. ...
  9.  
  10. DataGridView1.DataSource = dt;
  11. DataGridView2.DataSource = dt;