Ich habe ein Datagrid, das eine Tabelle anzeigt, die an eine SQL Server-DB gebunden ist. Ich möchte alle 60 Sekunden einen Timer einstellen, der nach Updates sucht und dann die neuesten Daten anzeigt.WPF Datagrid- auto aktualisieren
Bisher habe ich eine event_handler für Datagrid erstellt, die das Objekt Dispatcher Timer
private void dataGrid1_loaded(object sender, RoutedEventArgs e)
{
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
dispatcherTimer.Interval = new TimeSpan(0, 0, 60);
dispatcherTimer.Start();
}
Nun, wie ich weiß nicht, schließt mit dem Event-Handler, um fortzufahren weiterhin die neu aktualisierten Daten aus der Datenbank zu handhaben .
dispatcherTimer_Tick
Hier ist meine Select-Anweisung, die verwendet wird, um das Datagrid zu füllen.
private void Page_Loaded(object sender, RoutedEventArgs e)
{
try
{
String selectstatement = "select top 2 ItemID, ItemName,ConsumerName, Street, DOJ from ConsumarTB order by ItemID ";
da = new SqlDataAdapter(selectstatement, con);
ds = new DataSet();
da.Fill(ds);
dataGrid1.ItemsSource = ds.Tables[0].DefaultView;
}
catch (SqlException e)
{
Console.WriteLine(e.Message);
}
}
schöne Illustration für einen Anfänger. Danke. Lass mich versuchen, zu dir zurück zu kommen. – user1221765
ist eine gute Idee, dies zu erreichen, indem Sie INotifyPropertyChanged implementieren? – user1221765
Dies wäre eine gute Gelegenheit, um in 'ObservableCollection 'sowie' INotifyPropertyChanged' zu schauen. Wenn Sie eine benutzerdefinierte Klasse erstellen und Ihr Raster an eine ObservableCollection binden, sollten Sie Ihre Aktualisierungen nicht erneut binden müssen. Ich schlage vor, Sie tun es nur für den WPF Bildungsbeitrag. :) –
Khan