Mam listę danych z pewną właściwością. Chcę przekonwertować te dane listy do tabeli danych. Jak przekonwertować listę na datowalną.Jak przekonwertować listę na tabelę danych
Odpowiedz
Wystarczy dodać tę funkcję i nazywają to będzie konwertować List do DataTable.
public static DataTable ToDataTable<T>(List<T> items)
{
DataTable dataTable = new DataTable(typeof(T).Name);
//Get all the properties
PropertyInfo[] Props = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in Props)
{
//Defining type of data column gives proper data table
var type = (prop.PropertyType.IsGenericType && prop.PropertyType.GetGenericTypeDefinition() == typeof(Nullable<>) ? Nullable.GetUnderlyingType(prop.PropertyType) : prop.PropertyType);
//Setting column names as Property names
dataTable.Columns.Add(prop.Name, type);
}
foreach (T item in items)
{
var values = new object[Props.Length];
for (int i = 0; i < Props.Length; i++)
{
//inserting property values to datatable rows
values[i] = Props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
//put a breakpoint here and check datatable
return dataTable;
}
jak wywołać tę funkcję. Podziękowania za odpowiedź – user2660267
Załóżmy, że masz listę User.List
Czy potrzebujemy dodać dowolny obszar nazw, aby ta metoda działała? PropertyInfo [] nie zostanie rozpoznany. –
możesz użyć tej metody rozszerzenia i wywołać ją w ten sposób.
DataTable dt = YourList.ToDataTable();
public static DataTable ToDataTable<T>(this List<T> iList)
{
DataTable dataTable = new DataTable();
PropertyDescriptorCollection propertyDescriptorCollection =
TypeDescriptor.GetProperties(typeof(T));
for (int i = 0; i < propertyDescriptorCollection.Count; i++)
{
PropertyDescriptor propertyDescriptor = propertyDescriptorCollection[i];
Type type = propertyDescriptor.PropertyType;
if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(Nullable<>))
type = Nullable.GetUnderlyingType(type);
dataTable.Columns.Add(propertyDescriptor.Name, type);
}
object[] values = new object[propertyDescriptorCollection.Count];
foreach (T iListItem in iList)
{
for (int i = 0; i < values.Length; i++)
{
values[i] = propertyDescriptorCollection[i].GetValue(iListItem);
}
dataTable.Rows.Add(values);
}
return dataTable;
}
Dokładnie tego, czego szukałem! –
To daje mi wartości liczbowe dla typu 'List'' string'. – Jogi
static DataTable ConvertListToDataTable(List<string[]> list)
{
// New table.
DataTable table = new DataTable();
// Get max columns.
int columns = 0;
foreach (var array in list)
{
if (array.Length > columns)
{
columns = array.Length;
}
}
// Add columns.
for (int i = 0; i < columns; i++)
{
table.Columns.Add();
}
// Add rows.
foreach (var array in list)
{
table.Rows.Add(array);
}
return table;
}
protected void Button1_Click(object sender, EventArgs e)
{
List<string[]> list = new List<string[]>();
list.Add(new string[] { "Column 1", "Column 2", "Column 3" });
list.Add(new string[] { "Row 2", "Row 2" });
list.Add(new string[] { "Row 3" });
// Convert to DataTable.
DataTable table = ConvertListToDataTable(list);
dataGridView1.DataSource = table;
}
Spróbuj
'ConvertListToDataTable (...);' nie jest znany w dotnet, chyba że odwiedzasz tę stronę, gdzie możesz znaleźć kod tej metody 'http://social.msdn.microsoft.com/Forums/vstudio/en-US/6ffcb247 -77fb-40b4-bcba-08ba377ab9db/conversion-a-list- – Bellash
- 1. Jak przekonwertować ramkę danych na zagnieżdżoną listę?
- 2. jak przekonwertować istniejącą tabelę bazy danych sqlite na fts3?
- 3. Jak przekonwertować tabelę html na pandasową ramkę danych
- 4. Jak przekonwertować tabelę SQL na dane Redis
- 5. Jak przekonwertować listę obiektów na listę interfejsów?
- 6. jak przekonwertować CSV na tabelę w Oracle
- 7. Jak przekonwertować listę numerów na mapę?
- 8. Jak przekonwertować wynik zapytania LINQ na listę?
- 9. Jak przekonwertować kolumnę DataTable na listę
- 10. Jak mogę przekonwertować Pandas DataFrame na listę?
- 11. Jak przekonwertować znaki łańcuchowe na listę?
- 12. Jak mogę przekonwertować curveTo() na listę punktów?
- 13. Jak przekonwertować JSONArray na listę z Gsonem?
- 14. Jak przekonwertować listę obiektów na CSV?
- 15. Jak przekonwertować java.util.List na listę Scala
- 16. Jak przekonwertować listę 2D na listę 1D za pomocą strumieni?
- 17. Jak przekonwertować pand/ramkę danych na XML?
- 18. Jak przekonwertować listę do JavaRDD
- 19. Jak przekonwertować tabelę trybu org na oryginalny format z zakładkami?
- 20. Python, Sqlite3 - Jak przekonwertować listę na komórkę BLOB
- 21. Jak przekonwertować listę (Long) na tablicę znaków? (VB)
- 22. jak przekonwertować listę RealmSwift do wyników?
- 23. Jak przekonwertować wynik podsumowania na ramkę danych?
- 24. Jak przekonwertować słownik na pandową ramkę danych
- 25. jak przekonwertować bazę danych BDC na sql
- 26. Jak przekonwertować ramkę danych na numeryczną?
- 27. Konwertuj ramkę danych Pythona na listę
- 28. Konwertowanie zagnieżdżonych danych JSON na tabelę
- 29. Scala, Casbah - Jak przekonwertować listę do MongoDBList?
- 30. Jak przekonwertować namedtuple na listę wartości i zachować kolejność właściwości?
może Pan podać nam informacje o rodzaju obiektów w liście? –