欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DataTable的AcceptChanges()和RejectChanges()方法介绍并实现DataGridView数据增、删、改

程序员文章站 2024-03-27 22:18:46
一、datatable.acceptchanges()方法提交自上次调用acceptchanges()方法以来对该表进行的所有更改。调用acceptchanges()时,任何扔处于编辑模式的datar...

一、datatable.acceptchanges()方法

提交自上次调用acceptchanges()方法以来对该表进行的所有更改。调用acceptchanges()时,任何扔处于编辑模式的datarow对象将成功结束其编辑。datarowstate也会随之更改:所有状态为added何modified的行的状态都变为unchanged;状态为deleted的行则被移除。

在尝试使用dbdataadapter.update方法更新dataset之后,通常会对datatable调用acceptchanges方法。

二、datatable.rejectchanges()方法

回滚自该表加载以来或上次调用acceptchanges()以来对该表进行的所有更改。调用rejectchanges时,任何扔处于编辑模式的datarow对象将取消其编辑。新行被移除。datarowstate设置为modified或deleted的行返回到其初始状态。

使用delete()方法后,rowstate变成“deleted”状态。在您调用acceptchanges之前,它一直保持“deleted”状态。可通过调用rejectchanges取消删除行。

用于从datatable对象中删除datarow对象的方法有两种:datarowcollection对象的remove()方法和datarow对象的delete()方法。rwmove()方法从datarowcollection中删除datarow,而delete()方法只是将行的状态标记为删除,当应用程序调用acceptchanges()方法时,才会发生实际的删除。通过使用delete()方法,您可以在实际删除之前先以编程的方式检查哪些行标记为删除。

在将 dataset 或 datatable 与 dataadapter 和关系型数据源一起使用时,用 datarow 的 delete 方法移除行。delete 方法只是在 dataset 或 datatable 中将行标记为 deleted,而不会移除它。而 dataadapter 在遇到标记为 deleted 的行时,会执行其 deletecommand 方法以在数据源中删除该行。然后,就可以用 acceptchanges 方法永久移除该行。如果使用 remove 删除该行,则该行将从表中完全移除,但 dataadapter 不会在数据源中删除该行。

三、项目示例

1、界面设计

DataTable的AcceptChanges()和RejectChanges()方法介绍并实现DataGridView数据增、删、改

2、代码实现

到此这篇关于datatable的acceptchanges()和rejectchanges()方法介绍并实现datagridview数据增、删、改的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。