Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
start:visualstudio2019:programmieren:dotnet:component:programmierbeispiele [2021/11/10 20:44]
wikiadmin [Einfacher Datenbaum erstellen]
start:visualstudio2019:programmieren:dotnet:component:programmierbeispiele [2022/12/19 16:32] (aktuell)
wikiadmin [From IList<T> to DataTable]
Zeile 54: Zeile 54:
 ==== Angepasster Datenbaum erstellen ==== ==== Angepasster Datenbaum erstellen ====
 {{ :start:visualstudio2019:programmieren:dotnet:component:treeview_header_template.png?200 |}} {{ :start:visualstudio2019:programmieren:dotnet:component:treeview_header_template.png?200 |}}
 +Wenn Sie einige andere Steuerelemente mit dem Inhalt z.B. Checkbox, Bild, etc. hinzufügen möchten, dann können Sie Ihren Baum ohne großen Aufwand gestalten. Sie müssen nur das HeaderTemplate des TreeViewItem anpassen. Sie können auch eine Klasse erstellen, die von TreeViewItem abgeleitet ist, und den Header entsprechend Ihren Anforderungen ändern. 
 <code c# [enable_line_numbers="true",highlight_lines_extra="1"]> <code c# [enable_line_numbers="true",highlight_lines_extra="1"]>
 #XAML #XAML
Zeile 64: Zeile 64:
 ----- -----
  
 +==== xxx Datenbaum erstellen ====
 {{ :start:visualstudio2019:programmieren:dotnet:component:treeview_customtree.png?200 |}} {{ :start:visualstudio2019:programmieren:dotnet:component:treeview_customtree.png?200 |}}
  
Zeile 75: 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, in eine Datentabelle umzuwandeln. Da die Eingenschaften auch NULL sein können muss dies bei der Konvertierung berücksichtigt werden.
 +
 +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://social.msdn.microsoft.com/Forums/vstudio/en-US/6ffcb247-77fb-40b4-bcba-08ba377ab9db/converting-a-list-to-datatable?forum=csharpgeneral|Example A]]
 +[[https://stackoverflow.com/questions/701223/net-convert-generic-collection-to-datatable|Example B]]
 +==== From IList<T> to DataTable ====
 +
 +<code c# [enable_line_numbers="true",highlight_lines_extra="12"]>
 +public DataTable ConvertToDataTable<T>(IList<T> data)
 +    {
 +        PropertyDescriptorCollection properties =
 +           TypeDescriptor.GetProperties(typeof(T));
 +        DataTable table = new DataTable();
 +        foreach (PropertyDescriptor prop in properties)
 +            table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);
 +        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;
 +
 +    }
 +</code>