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 [2021/11/10 20:46] wikiadmin [Angepasster Datenbaum erstellen] |
start:visualstudio2019:programmieren:dotnet:component:programmierbeispiele [2022/12/19 16:32] (aktuell) wikiadmin [From IList<T> to DataTable] |
||
|---|---|---|---|
| Zeile 76: | Zeile 76: | ||
| + | ---- | ||
| + | ====== 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; | ||
| + | |||
| + | } | ||
| + | </ | ||