Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
start:visualstudio2019:programmieren:dotnet:component:programmierbeispiele [2022/12/19 15:36] wikiadmin [xxx Datenbaum erstellen] |
start:visualstudio2019:programmieren:dotnet:component:programmierbeispiele [2022/12/19 16:32] (aktuell) wikiadmin [From IList<T> to DataTable] |
||
---|---|---|---|
Zeile 75: | Zeile 75: | ||
+ | |||
+ | ---- | ||
====== DataTable and DataSet ====== | ====== DataTable and DataSet ====== | ||
+ | |||
+ | |||
+ | Das folgende Beispiel soll ein List Objekt in eine Datentabelle umwandeln. Ein generische Lösungsansatz ermöglicht es alle Eigenschaften und nur deren Eigenschaften, | ||
+ | |||
+ | The following example is to convert a List object into a data table. A generic approach allows to convert all properties and only their properties into a data table. Since the properties can also be NULL, this must be taken into account during the conversion. | ||
+ | |||
+ | [[https:// | ||
+ | [[https:// | ||
+ | ==== From IList< | ||
+ | |||
+ | <code c# [enable_line_numbers=" | ||
+ | public DataTable ConvertToDataTable< | ||
+ | { | ||
+ | PropertyDescriptorCollection properties = | ||
+ | | ||
+ | DataTable table = new DataTable(); | ||
+ | foreach (PropertyDescriptor prop in properties) | ||
+ | table.Columns.Add(prop.Name, | ||
+ | foreach (T item in data) | ||
+ | { | ||
+ | DataRow row = table.NewRow(); | ||
+ | foreach (PropertyDescriptor prop in properties) | ||
+ | row[prop.Name] = prop.GetValue(item) ?? DBNull.Value; | ||
+ | table.Rows.Add(row); | ||
+ | } | ||
+ | return table; | ||
+ | |||
+ | } | ||
+ | </ |