请大家帮忙看看!为什么datagrid绑定datatable时,datatable的rowstate是deleted的都显示出来?

解决方案 »

  1.   

    调用DataTable 类的 AcceptChanges 方法,此方法影响对整个表所做的更改.
      

  2.   

    或者重新生成datatable,重新绑定。
      

  3.   

    在每一步操作之后调用: AcceptChanges()方法
     
    作用:  使你的操作起效
    DataRow.Delete()只是加一个标志,实际上并没有删除,调用
    AcceptChanges 后才真正起效,也就是RowState=delete的行真正
    删除
      

  4.   

    谢谢!
    难道datagrid的绑定时连RowState=deleted也会显示出来?
      

  5.   

    不会吧..即便是对DataTable发生了动作..RowState是个标识当前行的状态,不会因为你对该行操作后更改了RowState的状态而显示的..你可以试一下,在你对DataTable操作后,重新将该DataTable绑定到控件上..查看是否还会显示.
      

  6.   

    谢谢。
    我发现DataTable1.delete()有时有用有时没有变成RowState=deleted,不知怎么回事
      

  7.   

    可能是session的问题,不知怎么释放掉session?