考虑将重新计算方法绑定到您的ListView
的ItemDeleted Event。例如:
Sub ShoppingCartListView_ItemDeleted(sender As Object, e As ListViewDeletedEventArgs) Handles ShoppingCartListView.ItemDeleted
' Determine whether an exception occurred
If e.Exception Is Nothing Then
' Ensure that a record was deleted.
If e.AffectedRows > 0 Then
' Call recalculation method
CalculateCharges()
End If
Else
' Handle e.Exception
HandleMyException(e.Exception)
End If
End Sub
老实说,错误检查的AffectedRows
可能是有点多余了你的使用情况,但它绝不会伤害知道什么信息提供给您的ListViewDeletedEventArgs
。
编辑:
如果需要支持添加到您的业务逻辑就受交易影响的行数信息,确保首先由ObjectDataSource.DeleteMethod
财产调用的方法有一个返回值,要么是一个整数,要么有一个属性或函数将返回一个。接下来,为您的ObjectDataSource.Deleted事件添加一个处理程序。在这里,您可以将包含在事件参数中的方法的返回值分配给另一个类似名为AffectedRows
的事件参数成员。例如:
Sub BusinessObjectDataSource_Deleted(sender as Object, e As ObjectDataSourceStatusEventArgs) Handles BusinessObjectDataSource.Deleted
e.AffectedRows = CInt(e.ReturnValue)
End Sub
由于e.ReturnValue
传递在为Object
,你可以将它转换为需要和访问具有更新e.AffectedRows
所需的信息的任何特定属性。
提供给这些参数的值将传递到您的ListView.ItemDeleted
事件。
嗯,只是注意到,虽然该方法是从ListView项删除触发,AffectedRows是-1。有任何想法吗? –
我可以假设您正在使用ObjectDataSource来进行自定义业务逻辑吗? – lsuarez
是的,我正在使用ODS。 –