GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 : CalculationContext クラス |
private SummaryCell CreateCustomSummaryCell() { SummaryCell summaryCell = new SummaryCell(); // Custom calculation logic. summaryCell.Calculation = new PercentageCalculation(); summaryCell.Style.Format = "#0.00%"; summaryCell.Style.BackColor = Color.Wheat; return summaryCell; } class PercentageCalculation : ICalculation { public object Calculate(CalculationContext context) { // calculate the percentage base on current section's sub-total in total. object subTotalValue = context.GcMultiRow[context.SectionIndex, "SubTotal"].Value; object totalValue = context.GcMultiRow.ColumnFooters[0]["Total"].Value; if (object.Equals(totalValue, 0m)) { // context.ErrorInfo = "Total is 0."; return "Total is 0"; } return (decimal)subTotalValue / (decimal)totalValue; } public object Clone() { // If you and new property in the calculation, make sure the property is cloned in this method. return new PercentageCalculation(); } }
Private Function CreateCustomSummaryCell() As SummaryCell Dim summaryCell As New SummaryCell() ' Custom calculation logic. summaryCell.Calculation = New PercentageCalculation() summaryCell.Style.Format = "#0.00%" summaryCell.Style.BackColor = Color.Wheat Return summaryCell End Function Private Class PercentageCalculation Implements ICalculation Public Function Calculate(ByVal context As CalculationContext) As Object Implements ICalculation.Calculate ' calculate the percentage base on current section's sub-total in total. Dim subTotalValue As Object = context.GcMultiRow(context.SectionIndex, "SubTotal").Value Dim totalValue As Object = context.GcMultiRow.ColumnFooters(0)("Total").Value If Object.Equals(totalValue, 0D) Then ' context.ErrorInfo = "Total is 0."; Return "Total is 0" End If Return DirectCast(subTotalValue, Decimal) / DirectCast(totalValue, Decimal) End Function Public Function Clone() As Object Implements ICloneable.Clone ' If you and new property in the calculation, make sure the property is cloned in this method. Return New PercentageCalculation() End Function End Class
System.Object
GrapeCity.Win.MultiRow.CalculationContext