私は Winform アプリケーションを持っていますが、その機能には満足しています。データベースから 15 分ごとに最新のデータを取得し、DataGridView に表示したいと考えています。
Timer クラスを追加しました。15 分経過したら、データを取得して表示するメソッドを呼び出すことができます。エラーが発生しました (添付のスクリーンショットを参照してください)。
ここで何が間違っていますか?
以下は私のコードです:
public partial class Form1 : Form
{
System.Timers.Timer aTimer;
public Form1()
{
InitializeComponent();
StartTimer();
}
private void RetrieveData()
{
DataTable table = new DataTable();
table.Rows.Add(woStatus, dateReceived, dateApprovedFormatted, binNo, ppNo, woNo, daysDifference);
dataGridViewMain.DataSource = table;
dataGridViewMain.Sort(dataGridViewMain.Columns["Days in the shop"], ListSortDirection.Descending);
}
private void StartTimer()
{
aTimer = new System.Timers.Timer(10000); // 10secs
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
RetrieveData();
aTimer.Start();
}
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
aTimer.Stop();
aTimer.Dispose();
StartTimer();
}
}