¿Cómo puedo exportar GridView.DataSource
a datatable o dataset?¿Cómo puedo exportar un GridView.DataSource a una datatable o dataset?
Respuesta
Usted debe convertir primero en DataSource
BindingSource
, mira ejemplo
BindingSource bs = (BindingSource)dgrid.DataSource; // Se convierte el DataSource
DataTable tCxC = (DataTable) bs.DataSource;
Con los datos de tCxC
que puede hacer cualquier cosa.
Personalmente me gustaría ir con:
DataTable tbl = Gridview1.DataSource as DataTable;
Esto permitirá poner a prueba para nula ya que esto da lugar a ya sea objeto DataTable o nulo. Lanzarlo como un DataTable utilizando (DataTable) Gridview1.DataSource causaría un error de bloqueo en caso de que el DataSource sea realmente un DataSet o incluso algún tipo de colección.
Documentación de apoyo: MSDN Documentation on "as"
Aunque esto no generó ningún error, cuando controlo el valor de mi tabla de datos, lo muestra como nulo aunque mi gridview muestra datos poblados. DataTable dt = gvJobSearchEngine.DataSource como DataTable; –
Ambu,
que estaba teniendo el mismo problema que usted, y este es el código que he utilizado para averiguarlo. Aunque, no uso la sección de la fila de pie de página para mis propósitos, sí la incluí en este código.
DataTable dt = new DataTable();
// add the columns to the datatable
if (GridView1.HeaderRow != null)
{
for (int i = 0; i < GridView1.HeaderRow.Cells.Count; i++)
{
dt.Columns.Add(GridView1.HeaderRow.Cells[i].Text);
}
}
// add each of the data rows to the table
foreach (GridViewRow row in GridView1.Rows)
{
DataRow dr;
dr = dt.NewRow();
for (int i = 0; i < row.Cells.Count; i++)
{
dr[i] = row.Cells[i].Text.Replace(" ","");
}
dt.Rows.Add(dr);
}
// add the footer row to the table
if (GridView1.FooterRow != null)
{
DataRow dr;
dr = dt.NewRow();
for (int i = 0; i < GridView1.FooterRow.Cells.Count; i++)
{
dr[i] = GridView1.FooterRow.Cells[i].Text.Replace(" ","");
}
dt.Rows.Add(dr);
}
Esto llegó tarde pero fue bastante útil. Sólo estoy publicando para referencia futura
DataTable dt = new DataTable();
Data.DataView dv = default(Data.DataView);
dv = (Data.DataView)ds.Select(DataSourceSelectArguments.Empty);
dt = dv.ToTable();
Data.DataView no tenía ninguna ventana emergente intellisense cuando probé su código. –
he utilizado debajo de la línea de código y funciona, prueba este
DataTable dt = dataSource.Tables[0];
- 1. Datatable vs Dataset
- 2. Exportar un C# DataSet a un archivo de texto
- 3. DataTable ya pertenece a otro DataSet
- 4. Cómo agregar un DataTable a otro DataTable
- 5. C# (WinForms-App) exportar DataSet a Excel
- 6. Cómo convertir un DataTable/DataSet en un ObjectDataSource
- 7. ¿Cómo puedo convertir DataSet a a DataReader?
- 8. DataTable y DataSet ¿deberían estar obsoletos ahora?
- 9. Convertir el rango de Excel a ADO.NET DataSet o DataTable, etc.
- 10. ¿Cómo importo de Excel a un DataSet usando Microsoft.Office.Interop.Excel?
- 11. ¿Linq a SQL o Linq a DataSet?
- 12. CDocumento XMLDo a DataTable?
- 13. ¿Por qué debo o no debo almacenar un Dataset, Datatable, etc. como una variable de sesión en una página ASP.NET?
- 14. Comportamiento extraño en la función PowerShell que devuelve DataSet/DataTable
- 15. VS2010 - WinForms - DataGridView - Enlace a DataSet
- 16. ¿Cómo exportar una DataTable a Xml con TODAS las columnas como atributos?
- 17. ¿Cómo obtener el SqlType de una columna en una DataTable?
- 18. cómo almacenar múltiples DataTables en un solo DataSet en C#?
- 19. Entity framework 4 o DataSet?
- 20. Cómo iterar a través de una DataTable
- 21. .NET - ¿Stream DataSet (de datos XML) a un archivo ZIP?
- 22. ¿Cómo construir una DataTable desde un DataGridView?
- 23. Casting datatable genérico a datatable type
- 24. ¿Puedo agregar el mismo DataRow a una DataTable varias veces?
- 25. ¿Cómo puedo actualizar una fila en una DataTable en VB.NET?
- 26. Exportar gráficos de JPanel a .png o .gif o .jpg
- 27. Agregar un DataSet existente a Report .rdlc
- 28. Exportar HIVE a un CSV
- 29. ¿Cómo puedo exportar XML como una cadena desde un XmlTextReader a un Response.Write?
- 30. Exportar a Excel C#
lo que es el tipo del objeto apuntado por GridView.DataSource? –
http://www.vbforums.com/showthread.php?t=474895 – TheTXI