5
SQLサーバーのDBにバインドされたテーブルを表示するデータグリッドがあります。 60秒ごとにタイマーを設定して、更新をチェックして最新の更新データを表示したいと思います。WPF Datagrid-自動リフレッシュ
これまでのところ、私は今、私は、データベースから新しく更新されたデータを処理するためにイベントハンドラをさらに進める方法がわからないオブジェクト・ディスパッチャータイマーを含んでDataGridのevent_handler、
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
ここには、データグリッドを埋めるために使用するselect文があります。
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);
}
}
初心者のための素敵なイラスト。ありがとうございました。試してみましょう。 – user1221765
これを実現するには、INotifyPropertyChangedを実装することをお勧めしますか? – user1221765
これは 'ObservableCollection'と 'INotifyPropertyChanged'を調べる絶好の機会です。カスタムクラスを作成し、グリッドを 'ObservableCollection 'にバインドする場合は、更新プログラムを再バインドする必要はありません。私はあなたがwpfの教育上の利益のためだけにそれをすることを強く勧めます。 :) –
Khan