C#dataGridView更新用线程更改到数据库

时间:2016-12-02 23:04:17

标签: c# multithreading datagridview

我想用线程更新从dataGridView到数据库的更改。

以下是代码:

    public void Updatewiththread()
    {
            DataTable changes = ((DataTable)dataGridView1.DataSource).GetChanges();

            if (changes != null)
            {

                MySqlCommandBuilder mcb = new MySqlCommandBuilder(mySqlDataAdapter1);
                ((DataTable)dataGridView1.DataSource).AcceptChanges();
                mySqlDataAdapter1.UpdateCommand = mcb.GetUpdateCommand();
                mySqlDataAdapter1.Update(changes);
            }
    }

    private void dataGridView1_RowValidated(object sender, DataGridViewCellEventArgs e)
    {
            DataTable changes = ((DataTable)dataGridView1.DataSource).GetChanges();

            if (changes != null)
            {
                UpdateThread = new Thread(Updatewiththread);
                UpdateThread.Start();
            }
    }

问题是,当我改变1值工作时,但当我改变另一个时它不工作。当我对随机列进行排序时,它再次工作。在多次更改中,某些时候可以使用1个单元格的更改。

0 个答案:

没有答案