datagirdview 删除记录后,数据更新问题,望大家给个解决方法。

c# datagirdview 表格,删除一条记录,没有直接更新掉。需要退出该窗口,再进入确实删除了。望大家给个方法。
获得表格代码如下:

 oleConnection1.Open();
            string sql = "select * from txt ";
            OleDbDataAdapter thisAdapter = new OleDbDataAdapter(sql, oleConnection1); 
            DataSet thisDataSet = new System.Data.DataSet(); 
            thisAdapter.Fill(thisDataSet, "table");   
            DataTable dt = thisDataSet.Tables["table"];  
            dataGridView1.DataSource = dt;

img


目前删除代码如下:

  string sql = "delete from txt where id" + "="+dgv.Rows[e.RowIndex].Cells[0].Value.ToString().Trim()+"";
                    OleDbCommand cmd = new OleDbCommand(sql, oleConnection1);
                    cmd.ExecuteNonQuery();        
                     updata();//这个updata 数据更新,方法代码不会。        
                    MessageBox.Show("删除成功");

updata方法代码不会,请各位帮个忙。

updata()
{
请各位大侠帮忙写下 ,数据更新的代码。
}

有什么办法,删除后,直接体现出来。 不需要退出窗口,再进入。
请各位积极回复,非常感谢,望能有详细代码。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
你可以尝试编写以下代码实现 updata() 方法:

private void updata()
{
    string sql = "select * from txt ";
    OleDbDataAdapter thisAdapter = new OleDbDataAdapter(sql, oleConnection1); 
    DataSet thisDataSet = new System.Data.DataSet(); 
    thisAdapter.Fill(thisDataSet, "table");   
    DataTable dt = thisDataSet.Tables["table"];  
    dataGridView1.DataSource = dt;
}


这个方法与获取表格数据源的代码基本相同,唯一不同的是使用 dataGridView1.DataSource 将新的数据源绑定到 DataGridView 控件上。

在删除记录时,你可以在执行删除语句后,调用 updata() 方法刷新表格数据源。这样,当你再次打开窗口时,表格应该已经更新,而不需要先退出该窗口再进入。

update()这行直接改成dgv.Rows.RemoveAt(e.RowIndex);不就行了