Shared Sub ExportarDataGridViewADataTable(ByVal miDataGrid As DataGridView, ByRef Tabla As DataTable)
Try
Dim filaNueva As System.Data.DataRow
Dim numCols As Integer
numCols = miDataGrid.ColumnCount
' Rellenamos los valores del DataTable nuevo con los valores de las celdas del DataGridView
For Each filaDatos As DataGridViewRow In miDataGrid.Rows
filaNueva = Tabla.NewRow()
For i As Integer = 0 To numCols - 1
filaNueva(i) = filaDatos.Cells(i).Value
Next
Tabla.Rows.Add(filaNueva)
Next
Catch ex As Exception
Tabla = New DataTable
Finally
miDataGrid = Nothing
End Try
End Sub
Espero que os sirva de ayuda

4 comentarios:
donde se pone el codigo xml??
Que codigo xml? Se mas explicito
Muy buen aporte
No funciona del todo.
Te faltó asignar las columnas existentes en el datagridview a la tabla.
Este es el código resultante después de haber hecho los ajustes correspondientes:
public static System.Data.DataTable DataGridViewADataTable(System.Windows.Forms.DataGridView DataGrid)
{
System.Data.DataTable Tabla = new System.Data.DataTable();
try
{
System.Data.DataRow filaNueva = null;
int numCols = 0;
numCols =DataGrid.ColumnCount;
foreach (System.Windows.Forms.DataGridViewColumn C in DataGrid.Columns)
{
Tabla.Columns.Add(C.DataPropertyName);
}
foreach (System.Windows.Forms.DataGridViewRow filaDatos in DataGrid.Rows)
{
filaNueva = Tabla.NewRow();
for (int i = 0; i <= numCols - 1; i++)
{
filaNueva[i] = filaDatos.Cells[i].Value;
}
Tabla.Rows.Add(filaNueva);
}
return Tabla;
}
catch
{
return new System.Data.DataTable();
}
}
Gracias por la idea.
Hasta luego.
Publicar un comentario