Necesito copiar una vista de datos en una tabla de datos. Parece que la única forma de hacerlo es recorrer el elemento de vista de datos por elemento y copiarlo en una tabla de datos. Tiene que haber una mejor manera.¿La manera más fácil de copiar una vista de datos en una tabla de datos en C#?
13
A
Respuesta
36
dt = DataView.ToTable()
O
dt = DataView.Table.Copy()
,
O
dt = DataView.Table.Clone()
;
3
La respuesta no funciona para mi situación porque tengo columnas con expresiones. DataView.ToTable()
solo copiará los valores, no las expresiones.
Primero probé esto:
//clone the source table
DataTable filtered = dt.Clone();
//fill the clone with the filtered rows
foreach (DataRowView drv in dt.DefaultView)
{
filtered.Rows.Add(drv.Row.ItemArray);
}
dt = filtered;
pero que la solución era muy lento, incluso para sólo 1000 filas.
La solución que funcionó para mí es:
//create a DataTable from the filtered DataView
DataTable filtered = dt.DefaultView.ToTable();
//loop through the columns of the source table and copy the expression to the new table
foreach (DataColumn dc in dt.Columns)
{
if (dc.Expression != "")
{
filtered.Columns[dc.ColumnName].Expression = dc.Expression;
}
}
dt = filtered;
Cuestiones relacionadas
- 1. Copiar datos de una tabla en una base de datos a otra base de datos separada
- 2. ¿La forma más fácil de leer datos formateados en C++?
- 3. ¿La forma más fácil de copiar una base de datos MySQL?
- 4. Cómo copiar datos de una base de datos/tabla a otra base de datos/tabla
- 5. ¿Hay alguna manera fácil de obtener datos de usuario de AuthComponent desde una vista en CakePHP?
- 6. La forma más fácil de analizar una estructura de datos Lua en C#/.Net
- 7. ¿La forma más rápida de copiar una tabla en mysql?
- 8. Cómo copiar una tabla de una base de datos mysql a otra base de datos mysql
- 9. Quiero copiar la tabla contenida en una base de datos e insertarla en otra tabla de base de datos
- 10. ¿Existe una manera eficiente de eliminar cada vista/función/tabla/sp de una base de datos?
- 11. Manera más eficiente para obtener una fila de datos de la base de datos en ASP.NET
- 12. Manera fácil de ver los datos en pgAdmin (PostgreSQL)
- 13. Datos de dos tablas en una vista
- 14. No se puede copiar la columna de datos de una tabla de datos a otra
- 15. Cómo seleccionar las primeras n filas de una tabla de datos/vista de datos en ASP.NET
- 16. Obtener datos de la tabla HTML en una tabla de datos
- 17. .SelectMany() y obtener datos de más de una tabla relacionada
- 18. ¿Cuál es la manera más fácil en C# para recortar una nueva línea de una cuerda?
- 19. Manera fácil de llenar ResultSet con datos
- 20. Copiando una base de datos en MySQL, ¿cómo copiar vistas?
- 21. ¿La forma más fácil de convertir una lista en una tabla HTML en python?
- 22. Copiar datos de Oracle a otra tabla
- 23. ¿Cómo crear una vista de datos en Sharepoint con datos de una consulta de combinación?
- 24. copia de tabla sin copiar datos
- 25. La manera más fácil de insertar datos simples en un archivo de Excel desde .Net
- 26. ¿Cuál es la forma más fácil de crear una tabla de Excel con C#?
- 27. ¿Cuál es una manera fácil de implementar cambios en la base de datos usando SQL Server?
- 28. ¿Cómo obtengo datos de una tabla de datos en javascript?
- 29. Cómo cambiar el tipo de datos de una columna de datos en una tabla de datos?
- 30. ¿Forma más fácil de rellenar datos de formularios y datos de validación en Code Igniter?
Gracias, google me estaba fallando bastante mal. Afortunadamente, esta página tendrá un alto puntaje. – Ravedave
Gracias Jose ... Funcionó ... –
Nota: 'DataView.ToTable()' solo copiará los valores de DataView. 'DataView.Table.Copy()' copiará la DataTable de origen, no los datos filtrados de DataView. 'DataView.Table.Clone()' solo copiará la estructura del DataTable de origen. – Homer