我正在使用绑定到 Linq 数据“对象列表”的网格。
网格以“断开连接的方式”运行,这意味着当我编辑或取消一行时,更改不会立即提交到数据库。在进行所有更改后单击一个单独的“保存”按钮以调用 DataContext.SubmitChanges 方法。
问题是当我删除网格中的一条线时,deleteonsubmit 方法很好调用,但是当我重新绑定网格后,这条线仍然在这里!
我需要像 Datatables 这样的行为,当数据表绑定到网格时,不显示处于 Deleted 状态的行。这可能吗 ?
附录
代码不多,因为 GridView 使用它的自动行为(AutoGenerateColumns、AutoGenerateEditButton 等)
这是我用来删除对象的代码
<DataObjectMethod(DataObjectMethodType.Delete)> _
Public Sub Supprimer(ByVal code As Integer)
Dim ctx = getDataContext()
Dim leGerant = (From g In ctx.Gerant Where g.CODE = code).FirstOrDefault
ctx.Gerant.DeleteOnSubmit(leGerant)
End Sub
这是我用来选择对象的代码
<DataObjectMethod(DataObjectMethodType.Select)> _
Public Function Selectionner()
Dim ctx = getDataContext()
Return From g In ctx.Gerant
End Function
@马格纳斯
你没有理解我的问题。单击保存按钮时,我确实调用了 SubmitChanges,并且更改效果很好。问题不在这里。
问题是当我删除网格中的一条线时,deleteonsubmit 方法很好调用,但是当我重新绑定网格后,这条线仍然在这里!通常,即使我尚未将更改提交到数据库,已删除的对象也不应该在 GridView 中显示为一行。