¿Cómo obtener las columnas seleccionadas del DataTable?
Por ejemplo, mi BaseTable tiene tres columnas,
ColumnA,
ColumnB y
ColumnC.
Ahora, como parte de las operaciones intermedias, necesito recuperar todas las filas solo de ColumnA. ¿Hay alguna fórmula predefinida como DataTable.Select?Columnas seleccionadas de DataTable
Respuesta
DataView view = new DataView(MyDataTable);
DataTable distinctValues = view.ToTable(true, "ColumnA");
Ahora puede seleccionar.
DataRow[] myRows = distinctValues.Select();
Utilicé el similar que ya publiqué en los comentarios. Funciona bien para mí. Solo estoy buscando otra solución mejor que no afecte el rendimiento. De todos modos, estoy de acuerdo con esto por ahora. Muchas gracias. – Krishna
De esta pregunta: How to select distinct rows in a datatable and store into an array puede obtener los valores distintos:
DataView view = new DataView(table);
DataTable distinctValues = view.ToTable(true, "ColumnA");
Si usted está tratando con un gran DataTable y se preocupan por el rendimiento, sugeriría algo así como lo siguiente en .NET 2.0 . Supongo que el tipo de datos que está mostrando es una cadena, por lo tanto, cambie según sea necesario.
Dictionary<string,string> colA = new Dictionary<string,string>();
foreach (DataRow row in table.Rows) {
colA[(string)row["ColumnA"]] = "";
}
return colA.Keys;
El número mínimo de filas será alrededor de 50K y esto debería implementarse para las 26 columnas. Así que foreach, for y while loops están fuera de discusión. – Krishna
De todos modos, la solución anterior funciona para mí. Estoy seguro de que su solución será perfecta para los pequeños objetos de datos. – Krishna
- 1. Devolver columnas especificadas seleccionadas
- 2. DataTable con columnas dinámicas
- 3. Crear DataView ADO.NET mostrando solamente las columnas seleccionadas
- 4. ¿Cómo imprimir columnas seleccionadas separadas por pestañas?
- 5. Eliminar columnas de DataTable en C#
- 6. Obtener una Columnas DataTable Tipo de datos
- 7. C# DataTable combinación interna con columnas dinámicas
- 8. Único en un marco de datos con solo columnas seleccionadas
- 9. ¿Cómo puedo obtener el promedio (media) de las columnas seleccionadas
- 10. Zend: Seleccionar objeto: ¿Cómo reemplazo las columnas seleccionadas por from()?
- 11. jQuery resaltando columnas seleccionadas solo en una tabla
- 12. WPF ListView: alineando el texto en las columnas seleccionadas
- 13. cómo copiar solo las columnas de una DataTable a otra DataTable?
- 14. Crear un nuevo DataTable con las mismas columnas que otro DataTable
- 15. Casting datatable genérico a datatable type
- 16. LINQ to DataTable
- 17. Suma resultados de dos declaraciones seleccionadas
- 18. C#, DataTable a ArrayList?
- 19. ¿Sumar las filas seleccionadas solo en la tabla de datos?
- 20. Cómo agregar un DataTable a otro DataTable
- 21. Convertir DataTable a CSV stream
- 22. jsf repeat inside datatable
- 23. Cómo hacer que los encabezados de datatable abarquen un número de columnas
- 24. Cómo cambiar el tamaño de una JQuery/Datatable después de ocultar columnas
- 25. Busque un valor en DataTable
- 26. DataTable Union
- 27. cómo enlazar ComboBox con DataTable
- 28. obtener filas distintas de datatable utilizando Linq (distinto con columnas múltiples)
- 29. C#: pasar dataTable al procedimiento almacenado: cuestión orden de las columnas
- 30. ¿Por qué la DataTable devuelta tiene columnas de solo lectura en FileHelpers
¿Cuál sería el propósito de tirar solo una columna? Si deja las tres columnas allí, siempre puede tomar solo la primera columna con 'DataTable.Rows [i] [" ColumnA "]' cuando está recorriendo datos en bucle. – mellamokb
Necesito establecer los distintos valores de fila de la columna A en un listBox. – Krishna
Puedo crear un DataView y eliminar las columnas innecesarias de allí. Pero es un procedimiento de dos pasos y se estrangula si el tamaño de la tabla de datos es enorme. – Krishna