我有一个数据网格,显示绑定到SQL Server数据库的表格。我想设置一个计时器,每60秒检查是否有更新,然后显示最新的更新数据。
到目前为止,我已经为数据网格创建了一个事件处理程序,其中包括对象调度计时器。
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();
}
现在,我不知道如何进一步处理事件处理程序来处理从数据库中更新的新数据。
dispatcherTimer_Tick
这是我的查询语句,用于填充数据表格。
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);
}
}
ObservableCollection<T>
和INotifyPropertyChanged
。如果您创建了一个自定义类并将网格绑定到ObservableCollection<MyCustomClass>
,则在更新时不需要重新绑定。我强烈建议您这样做,以增加WPF方面的学习收益。 :) - Khan