我有一个datagridview,设置为EditMode:EditOnKeystroke。当我在网格中编辑数据并单击更新按钮时,更改不会反映在数据库表中,该表是此网格的数据源。加载dataGridView并更新它的代码如下所示。
private void Form_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'pFSDataSet5.Farms' table. You can move, or remove it, as needed.
this.farmsTableAdapter.Fill(this.pFSDataSet5.Farms);
}
private void update_Click(object sender, EventArgs e)
{
//da.Update((DataTable)farmsTableAdapter);
int s=this.farmsTableAdapter.Update(this.pFSDataSet5.Farms);
Console.Write(s);
MessageBox.Show("Successfully Updated");
}
我错过了什么,数据更改不会传播到名为'Farms'的db表?
答案 0 :(得分:2)
更改不会反映在您的数据库中,因为您没有关闭编辑datagridview。使用这两行来关闭datagridview编辑:
yourdatagridview.EndEdit();
((DataRowView)yourdatagridview.CurrentRow.DataBoundItem).EndEdit();
然后您可以使用tableadapter更新。 :)
答案 1 :(得分:0)
更改不会传播到数据库,因为数据网格和数据集之间没有绑定。
在表单加载时使用数据集表尝试setting the grid.DataSource。