Mam DataTable z wieloma kolumnami. Chcę uzyskać List<String>
z pierwszej kolumny DataTable. Jak mogę to zrobić?Jak przekonwertować kolumnę DataTable na listę
Odpowiedz
var list = dataTable.Rows.OfType<DataRow>()
.Select(dr => dr.Field<string>(columnName)).ToList();
[Edytuj: dodać odniesienie do System.Data.DataSetExtensions
do projektu, czy to nie kompiluje]
Tutaj jesteś.
DataTable defaultDataTable = defaultDataSet.Tables[0];
var list = (from x in defaultDataTable.AsEnumerable()
where x.Field<string>("column1") == something
select x.Field<string>("column2")).ToList();
Jeśli potrzebujesz pierwszą kolumnę
var list = (from x in defaultDataTable.AsEnumerable()
where x.Field<string>(1) == something
select x.Field<string>(1)).ToList();
Czy to, co trzeba?
DataTable myDataTable = new DataTable();
List<int> myList = new List<int>();
foreach (DataRow row in myDataTable.Rows)
{
myList.Add((int)row[0]);
}
Twoja odpowiedź jest prawie poprawna, z wyjątkiem pytania wymagającego nazw lub 'List
Spróbuj tego:
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();
}
Czy ktoś inny otrzymuje błąd ReadOnly w kolumnach? – InteXX
jak odzyskać dane z kolumny "nazwa"? – JerryGoyal
robię próbki dla ciebie, i mam nadzieję, że to jest pomocny ...
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. Jak przekonwertować IQueryable na DataTable
- 2. Jak przekonwertować DataTable na IDatareader?
- 3. Jak przekonwertować listę obiektów na listę interfejsów?
- 4. Konwertuj DataTable na ogólną listę?
- 5. Jak przekonwertować DataTable/DataSet na ObjectDataSource
- 6. Jak przekonwertować DataTable na obiekt Dynamic?
- 7. Jak przekonwertować kolumnę typu TEKST na VARCHAR?
- 8. Jak usunąć kolumnę DataTable w C#
- 9. Jak przekonwertować listę na tabelę danych
- 10. Jak przekonwertować listę numerów na mapę?
- 11. Jak przekonwertować wynik zapytania LINQ na listę?
- 12. Jak przekonwertować ramkę danych na zagnieżdżoną listę?
- 13. Jak mogę przekonwertować Pandas DataFrame na listę?
- 14. Jak przekonwertować znaki łańcuchowe na listę?
- 15. Jak mogę przekonwertować curveTo() na listę punktów?
- 16. Jak przekonwertować JSONArray na listę z Gsonem?
- 17. Jak przekonwertować listę obiektów na CSV?
- 18. Jak przekonwertować java.util.List na listę Scala
- 19. Jak przekonwertować listę 2D na listę 1D za pomocą strumieni?
- 20. Jak przekonwertować obiekt datatable na powiązany zestaw danych?
- 21. Jak przekonwertować listę do JavaRDD
- 22. Jak przekonwertować PrimeFaces p: dataTable na standardowy h: dataTable (bez skóry), a następnie wydrukować go
- 23. Jak przekonwertować kolumnę Nvarchar do INT
- 24. Jak przekonwertować kolumnę tabeli na inny typ danych
- 25. Jak zapisać DataTable pierwszą kolumnę w tablicy C#
- 26. Konwertuj datatable na datareader
- 27. LINQ do mapowania datatable na listę <MyObject>
- 28. Jak zmienić normalną kolumnę na "obliczoną" kolumnę
- 29. Scala, Casbah - Jak przekonwertować listę do MongoDBList?
- 30. jak przekonwertować listę RealmSwift do wyników?
AsEnumerable() działa na DataTable jako dobrze. var list = dataTable.AsEnumerable(). Wybierz (r => r.Field (columnName)). ToList(); –
Jeśli 'DataTable.AsEnumerable()' nie skompiluje, dodaj odwołanie do System.Data.DataSetExtensions do swojego projektu. – Brk
Co zrobić, jeśli nie znasz nazwy kolumny "columnName"? – chiapa