本帖最后由 tianxz 于 2014-07-08 07:28:42 编辑

解决方案 »

  1.   

    应该还有其他的方法 删除吧。不用ONSUBMIT 。
      

  2.   

    1.提交数据入库的操作不要用绑定数据集的方式,而是直接SQL语句拼接,把数据源和数据库分开
    2.绑定前台用另一个表,确定删除后用此表数据更新后台表数据,再提交
      

  3.   

    这样的话,用datatable来绑定应该比linq好?
      

  4.   

    wpf是基于“数据驱动”的,不同于Winform的“事件驱动”,你想实现从数据集中删除数据,给用户一个体验,就是确定这条数据从数据集中移除了,然后再更新库,那你就想办法让你的 datagrid “知道”数据源变化了,或者是你的数据源变化,然后“通知”到了你的datagrid,这就是“数据驱动”。使用ObservableCollection 集合来存储你的数据,然后绑定到你的datagrid,这样删除操作就会通知到界面。
    给个链接,
    http://msdn.microsoft.com/zh-cn/library/ms668604(v=vs.110).aspx
      

  5.   

    谢谢,我是一个linq的初学者。还是不是很了解。 你说用ObservableCollection 存储数据,但是linq的结果是IEumberable or IQueryable.能不能给我一个具体的例子?谢谢。
      

  6.   

    其他的我都搞定,就是点击删除按钮时无法删除datagrid上的选择行。请问有什么办法?
      

  7.   


    ObservableCollection<T> collection = new ObservableCollection<T>(IEumberable集合);
      

  8.   

    ..点击删除的时候执行一下submit不就好了?
      

  9.   

    我发现当我调用TT.insertonsubmit(_new)后。 TT根本没有添加new元素。其实 DeleteAllOnSubmit 和insertonsubmit是一样的道理。调用后根本没有操作TT. 所以调用以上两个函数根本无法在保存到数据库以前刷新datagrid.假如绑定linq。请问各位有什么好办法?