2014-07-26 4 views
1

그룹 합계가있는 그룹화 된 표 컨트롤 인 summarytype : custom이 있습니다. 다음과 같이하고 싶습니다. 사용자가 행을 선택하거나 선택 취소하면 해당 그룹 요약도 변경됩니다. 선택한 행의 합계 만 필요합니다.devexpress grindcontrol 사용자 정의 요약 선택된 행만

Private Sub gvUtalhatok_CustomSummaryCalculate(ByVal sender As Object, ByVal e As DevExpress.Data.CustomSummaryEventArgs) Handles gvUtalhatok.CustomSummaryCalculate 
     Dim View As GridView = CType(sender, GridView) 
     If e.SummaryProcess = CustomSummaryProcess.Start Then custom_sum = 0 
     If e.SummaryProcess = CustomSummaryProcess.Calculate Then 
      For i = 0 To View.GetSelectedRows.Count - 1 
       custom_sum += Convert.ToDecimal(View.GetRowCellValue(View.GetSelectedRows(i), "BRUTTO")) 
      Next 
      'custom_sum += Convert.ToDecimal(e.FieldValue) 
     End If 
     If e.SummaryProcess = CustomSummaryProcess.Finalize Then e.TotalValue = custom_sum 
End Sub 

그리고이 :

이 코드가

Private Sub gvUtalhatok_SelectionChanged(ByVal sender As Object, ByVal e As DevExpress.Data.SelectionChangedEventArgs) Handles gvUtalhatok.SelectionChanged 
     gvUtalhatok.UpdateGroupSummary() 
End Sub 

문제는 내가 행을 선택하면, 나는 세 번 열의 합계와 모든 그룹 행을 얻을이다 동일한 합계 값을 표시합니다.

올바른 합계 값을 표시하고 그룹 행에 대해서만 코드를 수정하여 행을 선택하는 방법은 무엇입니까?

감사합니다.

답변

0

CustomSummaryCalculate 이벤트 처리기에서 루프를 제거해야합니다. 대신 다음 코드를 사용하십시오.

Private Sub gvUtalhatok_CustomSummaryCalculate(ByVal sender As Object, ByVal e As DevExpress.Data.CustomSummaryEventArgs) Handles gvUtalhatok.CustomSummaryCalculate 
     Dim View As GridView = CType(sender, GridView) 
     If e.SummaryProcess = CustomSummaryProcess.Start Then custom_sum = 0 
     If e.SummaryProcess = CustomSummaryProcess.Calculate Then 
      if View.IsRowSelected(e.RowHandle) then 
         e.TotalValue = Convert.ToDecimal(e.TotalValue) + 
Convert.ToDecimal(View.GetRowCellValue(e.RowHandle, "BRUTTO")) 
      End If 
     End If 
End Sub 
+0

감사합니다. – derstauner

관련 문제