Laden...

DataGrid: Binden eines Wertes aus einer Methode

Erstellt von .Kai vor 12 Jahren Letzter Beitrag vor 12 Jahren 2.163 Views
.Kai Themenstarter:in
1.130 Beiträge seit 2005
vor 12 Jahren
DataGrid: Binden eines Wertes aus einer Methode

Hallo zusammen,

ich habe die Situation, dass ich eine generische Liste an das DataGrid gebunden habe und das funktioniert auch super und ohne Probleme. Nun habe ich jedoch einen Wert aus der Liste, der eine weitere Verarbeitung benötigt, genauer gesagt muss ich in einer weiteren Liste nach einem korrespondierenden Wert suchen.

Ich dachte mir das ich dies über eine Methode mache, die Methode "irgendwie" an das DataGrid binde und im Binding dann den Wert übergeben kann? Hierbei geht um den Wert MA (Mitarbeiter) - siehe unten.

Bin ich damit völlig auf dem Holzweg oder ist das möglich?


<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="12,66,0,0" Name="data" VerticalAlignment="Top" Width="607" DataContext="{Binding}" CanUserAddRows="False" CanUserDeleteRows="True">
            <DataGrid.Columns>
                <DataGridTextColumn Header="Datum"  Binding="{Binding Path=Zeitstempel, StringFormat=dd.MM.yyyy}" IsReadOnly="True" />
                <DataGridTextColumn Header="Uhrzeit" Binding="{Binding Path=Zeitstempel, StringFormat=HH:mm:ss}" IsReadOnly="True" />
                <DataGridTextColumn Header="MA" IsReadOnly="True" />
                <DataGridTextColumn Header="Status" Binding="{Binding Path=Status}" IsReadOnly="True" />
            </DataGrid.Columns>
        </DataGrid>
U
1.578 Beiträge seit 2009
vor 12 Jahren

Du kannst im getter Methoden ausführen lassen.
Unabhängig davon ist dein Code da nicht sehr schön an zu sehen -.- Man sieht auf einen Blick viele Fehler.

.Kai Themenstarter:in
1.130 Beiträge seit 2005
vor 12 Jahren

Hallo David,

vielen Dank für deine Antwort. Du hast Recht, im Getter kann ich Methoden bzw. Logik ausführen lassen und würde so an die Inhalte kommen. Allerdings verwendet ich die generische Liste und die damit verbundenen Klassen nur zur reinen Datenhaltung. Sobald Logik dort vorhanden ist würde ich dagegen verstoßen. Gibt es noch eine andere Möglichkeit?

Ich finde mein Code bzw. mein Xaml für die ersten Schritte ganz in Ordnung, zumindest tut er das was er soll. Wenn du allerdings der Meinung bist das man es besser machen kann, dann bin ich gerne offen für die Vorschläge.

5.742 Beiträge seit 2007
vor 12 Jahren

Allerdings verwendet ich die generische Liste und die damit verbundenen Klassen nur zur reinen Datenhaltung.

Das ist unter WPF sehr suboptimal.
Es ist empfehlenswerter, ein ViewModel dazwischen zu legen, das genau diese "Vermittlung" übernimmt - die Datenklasse kann dann unberührt bleiben.

.Kai Themenstarter:in
1.130 Beiträge seit 2005
vor 12 Jahren

Hallo winSharp93,

danke für den guten Hinweis - Werde ich so machen.