您沒有告訴您的時間列的實際類型是什麼,但一般的解決方案是創建您自己的可處理您的數據的ICustomSummaryCalculator
。
的文件給出了一個example implementation,但這裏是一個爲TimeSpan
列執行:
Class TimeSummary
Implements ICustomSummaryCalculator
Dim _totals As New TimeSpan(0)
Dim _columnname As String
Public Sub New(columnName As String)
_columnname = columnName
End Sub
Public Sub BeginCustomSummary(summarySettings As SummarySettings, rows As RowsCollection) Implements ICustomSummaryCalculator.BeginCustomSummary
_totals = New TimeSpan(0)
End Sub
Public Sub AggregateCustomSummary(summarySettings As SummarySettings, row As UltraGridRow) Implements ICustomSummaryCalculator.AggregateCustomSummary
Dim time = row.GetCellValue(summarySettings.SourceColumn.Band.Columns(_columnname))
If TypeOf time Is DBNull Then
Return
End If
_totals += TimeSpan.Parse(time.ToString())
End Sub
Public Function EndCustomSummary(summarySettings As SummarySettings, rows As RowsCollection) Implements ICustomSummaryCalculator.EndCustomSummary
Return _totals
End Function
End Class
使用方法如下:
Dim timecolumn = grid.DisplayLayout.Bands(0).Columns("Time")
grid.DisplayLayout.Bands(0).Summaries.Add(SummaryType.Custom, New TimeSummary(timecolumn.Key), timecolumn, SummaryPosition.UseSummaryPositionColumn, timecolumn)
時間列來自數據庫的時間(7)數據類型。 – Helmbo 2015-03-03 15:47:29
@Helmbo我已經添加了一個如何處理TimeSpans的例子 – sloth 2015-03-03 16:24:39