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
이라고하는 다른 이벤트 인수 멤버에 할당 할 수 있습니다. 예를 들어 : e.ReturnValue
이후
Sub BusinessObjectDataSource_Deleted(sender as Object, e As ObjectDataSourceStatusEventArgs) Handles BusinessObjectDataSource.Deleted
e.AffectedRows = CInt(e.ReturnValue)
End Sub
가 Object
로 전달됩니다, 당신은 필요에 따라 캐스팅 e.AffectedRows
를 업데이트하는 데 필요한 정보가 특정 속성에 액세스 할 수 있습니다.
이 인수에 제공된 값은 ListView.ItemDeleted
이벤트로 전달됩니다.
흠, ListView에서 항목 삭제시 메서드가 트리거되는 동안 AffectedRows는 -1 인 것으로 나타났습니다. 어떤 아이디어? –
사용자 정의 비즈니스 로직을 위해 ObjectDataSource를 사용한다고 가정 할 수 있습니까? – lsuarez
예, ODS를 사용하고 있습니다. –