0

我想在 WinForms 中创建一个从数据库查询中提取数据的 DataGridView。它应该每 10 秒重新运行一次查询并自动刷新 DataGridView。数据的初始加载和显示工作正常。但之后每次更新(使用计时器)时,我都会收到Index 0 has no value三次 DataError 并且所选单元格变为空。更新完成后(3-4 秒后),所有单元格都会正确显示。

运行更新(包括初始加载):

private void timer1_Tick(object sender, EventArgs e)
{
    Task.Run(() => UpdateMatchesTable(dataGridView1));
}

然后更新方法:

private void UpdateMatchesTable(DataGridView view)
{
    if (checkBoxAutoRefresh.Checked)
    {
        pendingMatchesTableAdapter.Fill(userObjectsDataSet.PendingMatches);
        view.Invoke(new MethodInvoker(delegate
        {
            (view.DataSource as BindingSource).ResetBindings(false);
        }));
    }
}

我不知道我在这里做错了什么。这是正确的方法吗?

4

0 回答 0