【问题标题】:devexpress grindcontrol custom summary only selected rowsdevexpress gridcontrol 自定义摘要仅选定的行
【发布时间】:2014-07-26 18:10:45
【问题描述】:

我有一个带有分组总和的分组网格控件,摘要类型:自定义。我想有以下几点:如果用户选择或取消选择一行,相应的组摘要也会改变。我也只需要所选行的总和。

我有这个代码:

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

问题是,如果我选择一行,我会得到三倍的列总和,并且所有组行显示相同的总和值。

如何修改代码以显示正确的总和值,并且仅针对组行,在哪些行被选中?

谢谢。

【问题讨论】:

    标签: devexpress summary gridcontrol


    【解决方案1】:

    您应该从 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
    

    【讨论】:

      猜你喜欢
      • 2014-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多