在 vb.net 中更新后刷新数据网格视图
Posted
技术标签:
【中文标题】在 vb.net 中更新后刷新数据网格视图【英文标题】:refresh data grid view after updating in vb.net 【发布时间】:2013-03-05 18:10:13 【问题描述】:我有一个特定表的数据网格视图和详细信息。我更新了详细信息,但它没有在数据网格视图中更新?我的更新语句工作正常,因为一旦我退出项目,它就会更新.
cmd.CommandText = "update emp_tbl set sal= '" & SalTextBox.Text & "' where id='" & id & "'"
表名:emp_tbl
数据网格视图:emp_tbldatagridview
更新按钮:
cn.Open()
cmd.CommandText = "update emp_tbl set sal= '" & SalTextBox.Text & "' where id='" & id & "'"
cmd.ExecuteNonQuery()
cn.Close()
【问题讨论】:
Visual Studio 中的 Windows 窗体 ***.com/questions/14374348/… 这个问题很相似,但它的答案有帮助吗? 意识到,dgv 只是表格。 命令执行后是否刷新数据网格? 可以,但是刷新按钮的编码是fill()-默认查询 【参考方案1】:你必须重新绑定它:
BindingSource binding = new BindingSource(); //req. by win forms
DataTable dt = new DataTable();
dt.Load(sql_command.ExecuteReader());
dgv.DataSource = dt;
这是我发现在 win 表单中执行此操作的最佳方式,.update 不起作用,因为它实际上需要从 SQL 中重新提取数据。
【讨论】:
我在哪里写这个代码?如果我把它写在一个名为刷新的按钮中,它会起作用吗? 是的,无论您想在哪里刷新 dgv。适当调整对象名称。我在提交按钮上使用它来重新加载具有更新值的页面。 非常感谢!!会检查并通知您! 我需要导入什么吗? 如果你有空,能否请您大致解释一下这段代码的含义?我用这个替换了代码,其中 emp_tblbindingsource 是我的绑定源! ` Emp_tblBindingSource = new BindingSource(); //请求。 by win forms` but*;* 对吗?使用; ?【参考方案2】:只需尝试在 datagridview 中重用您的启动代码或从数据中调用启动代码。 这是最简单的方法。 因为您的启动代码用于将您的数据库绑定到您的 datagridview。 所以,每次你保存时,你的代码只是保存它而不是重新绑定它。所以,你需要的只是尝试通过调用启动代码重新绑定
【讨论】:
datagridview 仅在我结束项目后才显示更新的值! 从重新打开项目?就是这样...然后这就是我所说的...只是尝试回忆您的第一个启动代码..因为那是重新加载代码.. 因为当我结束我的项目并再次运行它时,我的数据网格视图中的值已经更新了! 第一次启动代码是什么意思?我运行项目时显示的第一个表单? 就像随机说的,这就是我的意思。以上是关于在 vb.net 中更新后刷新数据网格视图的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中更新或刷新与 Ms-access 连接的数据网格视图