Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
DataGrid: Binden eines Wertes aus einer Methode
.Kai
myCSharp.de - Member

Avatar #avatar-1836.gif


Dabei seit:
Beiträge: 1184

Themenstarter:

DataGrid: Binden eines Wertes aus einer Methode

beantworten | zitieren | melden

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>
private Nachricht | Beiträge des Benutzers
userid14268
myCSharp.de - Member



Dabei seit:
Beiträge: 1620

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
.Kai
myCSharp.de - Member

Avatar #avatar-1836.gif


Dabei seit:
Beiträge: 1184

Themenstarter:

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
winSharp93
myCSharp.de - Experte

Avatar #avatar-2918.png


Dabei seit:
Beiträge: 6155
Herkunft: Stuttgart

beantworten | zitieren | melden

Zitat von .Kai
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.
private Nachricht | Beiträge des Benutzers
.Kai
myCSharp.de - Member

Avatar #avatar-1836.gif


Dabei seit:
Beiträge: 1184

Themenstarter:

beantworten | zitieren | melden

Hallo winSharp93,

danke für den guten Hinweis - Werde ich so machen.
private Nachricht | Beiträge des Benutzers