底层MySQL数据库内容更改时,C#DataGridView控件未更新

时间:2016-03-01 16:46:50

标签: c# mysql winforms datagridview

我在基于Windows窗体的C#桌面应用程序中使用数据绑定的datagridview(sbDataGridView)控件。 从数据库加载数据工作正常,所有值都正确显示。 但是,当通过手动添加某些行来模拟数据库中的数据更改时,datagridview控件不会自动反映此更改。有没有办法让控件知道更改并自动更新? 我已经添加了一些执行以下任务的时间,但没有一个能够工作......

    private void RefreshTimer_Tick(object sender, EventArgs e)
    {

        // tBindingSource.ResetBindings(false);
        // sBindingSource.ResetBindings(false);
        // sbBindingSource.ResetBindings(false);
        sbDataGridView.DataSource = null;
        sbDataGridView.DataSource = sbBindingSource;

        //MessageBox.Show("Tick");
        //sbBindingSource.ResetBindings(false);
        //tBindingSource.ResetBindings(false);
        //sBindingSource.ResetBindings(false);

        //sbDataGridView.Refresh();
        //sbDataGridView.Invalidate();

        //sDataSet.Reset();
        //tTableAdapter.Fill(sDataSet.t);
        //sTableAdapter.Fill(sDataSet.s);
        //sbTableAdapter.Fill(sDataSet.sb);
        //sbDataGridView.Invalidate();
    }

Form_Load方法上,我有一行RefreshTimer.Start()。 如果取消注释MessageBox行,则会每秒显示MessageBox。计时器当前设置为每秒经过一次。

(我已尝试过各种各样的命令...) 任何想法在这里有什么问题?

我已经尝试过来自C# DataGridView not updated when datasource is changed的“脏”解决方案,但这也无效。

祝你好运, 汤姆

0 个答案:

没有答案