首页 > 开发 > 综合 > 正文

DataRow的状态

2024-07-21 02:23:32
字体:
来源:转载
供稿:网友
dataset.table.rows[x].delete()的此行还存在在datatable中的,只是状态改变了,即使update后也应该.acceptchanges()如果还要用这个dataset.table
说明如下
一个datarow对象刚被创建之后其状态是detached,是孤立的一个存在,所以建立了datarow之后在datarow中的单元填充了数据后还要通过datatable.rows.add(datarow)方法将此datarow添加到datatable,datarow添加到datatable后, 这个datarow的状态就转变为added。当修改了这个datarow后,这个datarow状态转为modified,当用datarow.delete()方法删除datarow后,datarow状态将转为deleted,不过此行还存在在datatable中的,只是状态改变了,这时用datatable.rows.count查看行数,跟删除前是一样的。只有在调用了datatable.remove(datarow)方法后,此datarow才被从datatable移除,状态也回复到detached孤立状态。

一旦调用了datatable.acceptchanges()方法后,所有的行将根据不同的状态做不同的处理,added、modified、unchanged将保留当前值,deleted的行将从datatable中移除,最后所有的行的状态都置为unchanged。当datatable是从dataadapter.fill(dataset,datatable)方法填充而形成的,fill()方法将自动调用acceptchanges()方法,将datatable的行状态都置为unchanged。并且,如果fill方法中指定的那个datatable在要填充的那个dataset不存在时,会生成一个跟数据源表同样的结构的datatable并填充数据。




发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表