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