vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
WPF / DataGrid / wann sind die Daten gebunden? 
Autor: Manni01
Datum: 15.11.14 11:09

Hallo,

ich möchte das nach dem Laden eines Windows ein darin enthaltenes DataGrid die erste Zeile selektiert und TextBoxen Details dieser Zeile anzeigen. Zeilen können dann mit der Maus selektiert werden, worauf in den TextBoxen Details der selektierten Zeile angezeigt werden, welches über das Ereignis "SelectionChanged" und die Eigenschaft "CurrentItem" auch funktioniert.

Nur unmittelbar nach dem Laden des Window funktioniert es nicht. Auch wenn die erste Zeile angeklickt wird, kommt nicht das Ereignis "SelectionChanged" weil noch keine Items im DataGrid sind.

Die DataTable "Messungen" wird mit ihrer DefaultView an das DataGrid gebunden:
 
    Private Sub Window_Loaded(sender As Object, e As RoutedEventArgs) Handles _
      Me.Loaded
 
        dgMessungen.ItemsSource = Messungen.DefaultView()
        TexteAktualisieren()
 
    End Sub
 
    Private Sub dgMessungen_SelectionChanged(sender As Object, e As _
      SelectionChangedEventArgs) Handles dgMessungen.SelectionChanged
 
        TexteAktualisieren()
 
    End Sub
 
    Private Sub TexteAktualisieren()
 
        If dgMessungen.CurrentItem Is Nothing Then Exit Sub
        Dim AktRow As DataRowView = CType(dgMessungen.CurrentItem, DataRowView)
        TextboxX.Text = AktRow("EigenschaftX").ToString
        TextboxY.Text = AktRow("EigenschaftY").ToString
        usw....
 
    End Sub
Leider kann ich danach die Texte nicht aktualisieren, weil unmittelbar danach noch keine Items im DataGrid enthalten sind. Auch dgMessungen.CurrentItem ist "Nothing", weil halt noch nichts da ist.

Wann also kann ich auf die Items des DataGrid zugreifen? Gibt es da ein Ereignis oder habe ich da grundsätzlich einen Fehler drin bzw. irgendwas nicht verstanden?

Besten Dank für Eure Hinweise!

XAML:
 
        <Style TargetType="{x:Type DataGrid}" x:Key="DataGrid">
            <Setter Property="HorizontalGridLinesBrush" Value="{DynamicResource" & _
              "{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}}" _
              />
            <Setter Property="VerticalGridLinesBrush" Value="{DynamicResource" & _
            "{x:Static SystemColors.ControlDarkBrushKey}}" />
            <Setter Property="AlternatingRowBackground" Value="#FFE2E2E2" />
            <Setter Property="ItemsSource" Value="{Binding }" />
            <Setter Property="SelectionMode" Value="Single" />
            <Setter Property="SelectionUnit" Value="FullRow" />
            <Setter Property="BorderBrush" Value="{DynamicResource {x:Static" & _
              "SystemColors.ControlDarkBrushKey}}" />
            <Setter Property="HeadersVisibility" Value="Column" />
            <Setter Property="IsReadOnly" Value="True" />
            <Setter Property="IsSynchronizedWithCurrentItem" Value="True"/>
        </Style>
 
            <DataGrid x:Name="dgMessungen" Style="{StaticResource DataGrid}" _
              MaxWidth="650" MaxHeight="120"/>
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
WPF / DataGrid / wann sind die Daten gebunden?3.094Manni0115.11.14 11:09

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel