這爲什麼我的DataGridView沒有更新的變化是我的代碼:底層的DataTable
private void button1_Click(object sender, EventArgs e)
{
DataTable table = new DataTable();
using (SqlCeDataAdapter sqlCeDataAdapter = new SqlCeDataAdapter("SELECT * FROM test", sqlCeConnection))
{
sqlCeDataAdapter.Fill(table);
}
dataGridView1.DataSource = table;
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(((DataTable)dataGridView1.DataSource).Rows.Count.ToString());
}
我想要做的就是更新底層數據庫,但根據this教程,底層DataTable
會每當我編輯行時,都需要反映對DataGridView
所做的更改。我在做的只是運行應用程序,按button1
,然後刪除DataGridView
中的一些行,然後按button2
查看我得到的行數。在此應用程序中,我獲得的行數與刪除行之前的行數相同,但是如果將dataGridView1
的DataSource
替換爲我自己填充的DataTable
(通過調用DataTable.NewRow()
等),每次刪除時都會反映在DataTable
上一行(底層DataTable
包含更少的行後刪除其中的一些)。