vb.net - 如果唯一的变化是新行,有没有办法阻止 myDataSet.HasChanges() 返回 true?
问题描述
Button
我有一个Form
点击呼叫时的那个myBindingSource.AddNew()
。然后,与在该新行上设置值相关的控件变得可见。
Form
在我调用的关闭事件中,myDataSet.HasChanges()
如果它返回True
,我会提示用户是否要保存他们所做的更改。
在用户单击添加新行但随后关闭表单(无论出于何种原因)而不设置任何值的情况下,显然myDataSet.HasChanges()
会返回,True
因为添加了新行。
False
如果唯一的变化是新行,我想要一种让它返回的方法。
我试过myBindingSource.EndEdit()
之后myDataSet.AcceptChanges
立即打电话,myBindingSource.AddNew()
但myDataSet.HasChanges()
仍然返回True
。
我认为通过调用myDataSet.AcceptChanges()
它基本上可以清除板岩,并且只有在那之后所做的更改才会被拾取。
或者,如果有更好的方法,我想听听。
我热衷于仅DataBase
在提示保存时一次性保存回的想法,而不是在每次值更改时插入新行Button.Click
并更新该行。
解决方案
比我的评论更具体:
If myDataSet.HasChanges(DataRowState.Deleted Or DataRowState.Modified) Then
推荐阅读
- javascript - 尝试在学校玩剪刀石头布游戏,但我的图像不会出现在 div 框中
- django - 在保存之前检查 django-treebeard ORM 中的树修改
- java - Android如何在单击按钮时首先在日期选择器中显示年份
- python - \Python\Python36\lib\os.py",第 669 行,在 __getitem__ 中从 None 中引发 KeyError(key),KeyError: 'DB_HOST'
- flutter - 如何在 Flutter 中将 setState 发送到第二页?
- ionic-framework - Ionic 3 - 在 InAppBrowser 中观看请求
- nginx - Nginx 代理通过,显示目录但不提供目录中的静态文件
- sql - 授予角色权限(如果 SAP HANA 中存在)
- angular - 角度反应表单按钮单击事件
- vuejs2 - Vuelidate minvalue 可选