DataTable的AcceptChanges()和RejectChanges()方法介绍并实现DataGridView数据增、删、改
一、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、界面设计
2、代码实现
到此这篇关于datatable的acceptchanges()和rejectchanges()方法介绍并实现datagridview数据增、删、改的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。