2

我有一个 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”的数据库表?

4

2 回答 2

2

更改不会反映在您的数据库中,因为您没有关闭编辑 datagridview 。使用这 2 行来关闭 datagridview 编辑:

 yourdatagridview.EndEdit();
 ((DataRowView)yourdatagridview.CurrentRow.DataBoundItem).EndEdit();

然后您可以使用 tableadapter 更新。:)

于 2013-09-22T14:51:34.503 回答
0

更改不会传播到数据库,因为数据网格和数据集之间没有绑定。

尝试在表单加载时使用数据集表设置 grid.DataSource 。

于 2013-01-09T07:29:51.330 回答