c# - DatagridView 更改未反射(reflect)在数据库中

标签 c# winforms ado.net

我有一个 datagridview,它设置为 EditMode :EditOnKeylines。当我编辑网格中的数据并单击更新按钮时,更改不会反射(reflect)在作为该网格的数据源的数据库表中。下面给出了加载 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”的数据库表?

最佳答案

这些更改不会反射(reflect)在您的数据库中,因为您没有关闭编辑 datagridview 。使用这两行来关闭 datagridview 编辑:

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

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

关于c# - DatagridView 更改未反射(reflect)在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14229972/

相关文章:

SQL 参数减慢查询速度

c# - 验证登录用户新输入的密码

c# - 包含重复对象的列表 - 内存成本是多少?

c# - 使动态表单控件永久化

winforms - 如何在Visual Studio中创建像解决方案资源管理器这样的控件?

Winforms:不是有效的 Win32 应用程序

sql-server - 测试自定义 ORM 解决方案性能开销 - 如何?

c# - 如何以编程方式创建 Firebird 数据库文件?

c# - 在 Windows 窗体中显示插入数据异常

c# - NHibernate:in() 的反向版本?