Tengo una tabla de datos con múltiples columnas. Quiero obtener un List<String>
de la primera columna de DataTable. ¿Cómo puedo hacer eso?Cómo convertir una columna de DataTable en una lista
Respuesta
var list = dataTable.Rows.OfType<DataRow>()
.Select(dr => dr.Field<string>(columnName)).ToList();
[Editar : Agregar una referencia a System.Data.DataSetExtensions
a su proyecto si esto no se compila]
Aquí tienes.
DataTable defaultDataTable = defaultDataSet.Tables[0];
var list = (from x in defaultDataTable.AsEnumerable()
where x.Field<string>("column1") == something
select x.Field<string>("column2")).ToList();
Si necesita la primera columna
var list = (from x in defaultDataTable.AsEnumerable()
where x.Field<string>(1) == something
select x.Field<string>(1)).ToList();
Es esto lo que necesita?
DataTable myDataTable = new DataTable();
List<int> myList = new List<int>();
foreach (DataRow row in myDataTable.Rows)
{
myList.Add((int)row[0]);
}
Su respuesta es casi correcta excepto que la pregunta es pidiendo nombres o 'List
Prueba esto:
static void Main(string[] args)
{
var dt = new DataTable
{
Columns = { { "Lastname",typeof(string) }, { "Firstname",typeof(string) } }
};
dt.Rows.Add("Lennon", "John");
dt.Rows.Add("McCartney", "Paul");
dt.Rows.Add("Harrison", "George");
dt.Rows.Add("Starr", "Ringo");
List<string> s = dt.AsEnumerable().Select(x => x[0].ToString()).ToList();
foreach(string e in s)
Console.WriteLine(e);
Console.ReadLine();
}
¿Alguien más está obteniendo un error de ReadOnly en Columns? – InteXX
cómo recuperar datos de una columna "nombre"? – JerryGoyal
hago una muestra para usted, y espero que esto sea útil ...
static void Main(string[] args)
{
var cols = new string[] { "col1", "col2", "col3", "col4", "col5" };
DataTable table = new DataTable();
foreach (var col in cols)
table.Columns.Add(col);
table.Rows.Add(new object[] { "1", "2", "3", "4", "5" });
table.Rows.Add(new object[] { "1", "2", "3", "4", "5" });
table.Rows.Add(new object[] { "1", "2", "3", "4", "5" });
table.Rows.Add(new object[] { "1", "2", "3", "4", "5" });
table.Rows.Add(new object[] { "1", "2", "3", "4", "5" });
foreach (var col in cols)
{
var results = from p in table.AsEnumerable()
select p[col];
Console.WriteLine("*************************");
foreach (var result in results)
{
Console.WriteLine(result);
}
}
Console.ReadLine();
}
- 1. ¿Cómo obtener el SqlType de una columna en una DataTable?
- 2. ¿Convertir DataTable a lista genérica?
- 3. Cómo convertir columna de consulta a una lista en ColdFusion
- 4. Cómo convertir una DataTable en una cadena en C#?
- 5. Convertir DataTable a lista genérica en C#
- 6. ADO.NET: convertir una DataTable en una matriz de DataRows
- 7. PF filtrado de una columna Datatable que contiene una fecha
- 8. Convertir una lista en una cadena
- 9. ¿Cómo serializar una DataTable en una cadena?
- 10. pitón convertir una lista en una lista de tuplas
- 11. convertir una lista de listas en una sola lista
- 12. Cómo convertir IQueryable a DataTable
- 13. Convertir DataTable a la lista <T>
- 14. Cómo iterar a través de una DataTable
- 15. ¿Cómo puedo convertir una cadena en una lista en Python?
- 16. DataTable Convertir a la lista <T>
- 17. C# - Cómo ordeno una DataTable por fecha
- 18. Convertir JSON para DataTable
- 19. Cómo localizar el nombre de columna DataTable
- 20. Python, Sqlite3 - Cómo convertir una lista en una celda BLOB
- 21. ancho de columna en rich: datatable
- 22. Crear una tabla dinámica desde una DataTable
- 23. ¿Cómo obtener una lista de encabezados de columna de una vista de lista basada en displayindex?
- 24. ¿Cómo convertir una colección a la lista?
- 25. Convertir SqlDataSource a DataTable y DataView
- 26. Colecciones Java convertir una cadena en una lista de caracteres
- 27. ¿Cómo construir una DataTable desde un DataGridView?
- 28. Convertir datos.Secuencia a una lista?
- 29. Convertir DataTable a CSV stream
- 30. Convertir una lista desordenada en una tabla de contenidos
AsEnumerable() funciona en un DataTable también. var list = dataTable.AsEnumerable(). Seleccione (r => r.Field (columnName)). ToList(); –
Si 'DataTable.AsEnumerable()' no se compila, agregue una referencia a System.Data.DataSetExtensions a su proyecto. – Brk
¿Qué sucede si no conoce 'columnName'? – chiapa