Benutzer mit den meisten Antworten
WPF - Datagrid - Zeile einfügen

Frage
Antworten
-
Hallo Dirk,
ohne einem konkreten Beispiel würde ich hier wohl auf einen Konverter setzen. Diesen kannst du zwischen die Eigenschaft und das gebundene Objekt schalten. Dadurch kannst du im Codebehind nach belieben aus einem Wert einen anderen machen. Solange das auch Rückwärts Funktion wäre auch ein Bearbeiten innerhalb des DGs noch problemlos möglich.Ebenfalls kannst du in einem Konverter auch Brushes o.ä. zurück geben um so verschiedene Farben in jedem Datensatz zu erreichen.
Ein Beispiel wie man einen solchen Konverter erstellen und verwenden kann findest du folgendem MSDN-Blogbeitrag: IValueConverter in WPF data binding
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Dirk2006 Mittwoch, 18. März 2015 11:57
Alle Antworten
-
Hallo,
eigentlich ist das DataGrid dafür ausgelegt Daten anzuzeigen, deren Eigenschaften immer die gleichen sind. Also Beispielsweise ID, Name und Alter. Wenn nun eine anderer Typ keine Name-Eigenschaft hat, so würde diese Spalte leer bleiben.
So gesehen ist das DataGrid also nicht für verschiedene Datensätze vorgesehen. Modifizieren kann man in WPF natürlich alles, sodass man dein Vorhaben vielleicht auch irgendwie realisieren könnte. Die Frage ist nur, wie du dir dann die Anzeige vorstellst.Wenn es rein um da Binding geht, so kannst du im einfachsten Fall einfach eine ObservableCollection<Object> binden. Besser wäre natürlich das auf eine gemeinsame Basisklasse oder Schnittstelle der Datensätze einzuschränken.
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets -
Hi Dirk,
wenn Du die darzustellende Information in einerText-Eigenschaft bereitstellst, deren Inhalt Du selbst "zusammenbastelst", dann kannst Du über diesen Trick eine scheinbar unterschiedliche Datenstruktur darstellen. Damit unterschiedliche Inhalte zusammenpassen, muss ggf. eine Schrift mit fester Bereite für die Spalte genutzt werden. Es bleibt dann noch die Überschrift einer solchen Spalte.Bitte schreib Du mal, wozu Du das benötigst. Vielleicht gibt es eine alternative Idee dafür, z.B. in WPF.
--
Viele Grüsse
Peter Fleischer (MVP, Partner)
Meine Homepage mit Tipps und Tricks -
Erstmal Danke...
Ist eigentlich nicht so schlimm....
In Abhängigkeit von Feldwerten, eine DatagridRow anpassen/verändern (Hintergrundfarben usw.).
Und wenn möglich auch Feldinhalte anpassen/verändern.
Habe natürlich auch im Internet recherchiert - Folgendes Beispiel:
<DataGrid.RowStyle> <Style TargetType="{x:Type DataGridRow}"> <Style.Triggers> <DataTrigger Binding="{Binding Status}" Value="X"> <Setter Property="Background" Value="Red"> </Setter> </DataTrigger> <DataTrigger Binding="{Binding Status}" Value="O"> <Setter Property="Background" Value="Orange"> </Setter> </DataTrigger> <DataTrigger Binding="{Binding Status}" Value="Y"> <Setter Property="Background" Value="#639c18"> </Setter> </DataTrigger> </Style.Triggers> </Style> </DataGrid.RowStyle>
Es bezieht sich alles nur auf das Feld -Status- .
Kann ich keine Abhängigkeit zu einem anderen Datenfeld herstellen?
Wenn sich das Feld Status ändert, verändert sich bei Feld A der Inhalt?
Danke
Dirk
-
Hallo Dirk,
ohne einem konkreten Beispiel würde ich hier wohl auf einen Konverter setzen. Diesen kannst du zwischen die Eigenschaft und das gebundene Objekt schalten. Dadurch kannst du im Codebehind nach belieben aus einem Wert einen anderen machen. Solange das auch Rückwärts Funktion wäre auch ein Bearbeiten innerhalb des DGs noch problemlos möglich.Ebenfalls kannst du in einem Konverter auch Brushes o.ä. zurück geben um so verschiedene Farben in jedem Datensatz zu erreichen.
Ein Beispiel wie man einen solchen Konverter erstellen und verwenden kann findest du folgendem MSDN-Blogbeitrag: IValueConverter in WPF data binding
Tom Lambert - .NET (C#) MVP
Wozu Antworten markieren und für Beiträge abstimmen? Klicke hier.
Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter | Account bestätigen (Verify Your Account)
Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets- Als Antwort markiert Dirk2006 Mittwoch, 18. März 2015 11:57