public void Run() { foreach (Element el in engine1.Table.DisplayElements) { Console.WriteLine(el.ToString()); if (el is Syncfusion.Grouping.SummarySection) { // Cast summary to correct type before accessing idividual summary properties Console.WriteLine("Summaries:"); ITreeTableSummary[] summaries = el.ParentGroup.GetSummaries(el.ParentTable); DoubleAggregateSummary d0 = (DoubleAggregateSummary)summaries[el.ParentTableDescriptor.Summaries.IndexOf(sd0)]; Console.WriteLine("QuantityAverage = {0}", d0.Average); TotalSummary d1 = (TotalSummary)summaries[el.ParentTableDescriptor.Summaries.IndexOf(sd1)]; Console.WriteLine("QuantityDistinctCount = {0}", d1.Total); DistinctInt32CountSummary d2 = (DistinctInt32CountSummary)summaries[el.ParentTableDescriptor.Summaries.IndexOf(sd2)]; Console.WriteLine("QuantityTotal = {0}", d2.Count); StatisticsSummary d3 = (StatisticsSummary)summaries[el.ParentTableDescriptor.Summaries.IndexOf(sd3)]; Console.WriteLine("QuantityMedian = {0}", d3.Median); Console.WriteLine("QuantityAverage = {0}", GetAverageSummary(sd0, el.ParentGroup)); } } }
public DistinctInt32CountSummary Combine(DistinctInt32CountSummary other) { ArrayList d = new ArrayList(Count + other.Count); Int32[] others = other.Values; int n1 = 0; int n2 = 0; int len1 = _values.Length; int len2 = others.Length; while (n1 < len1 && n2 < len2) { int cmp = _Compare(_values[n1], others[n2]); if (cmp < 0) { d.Add(_values[n1++]); } else if (cmp > 0) { d.Add(others[n2++]); } else { d.Add(_values[n1++]); n2++; } } while (n1 < len1) { d.Add(_values[n1++]); } while (n2 < len2) { d.Add(others[n2++]); } return(new DistinctInt32CountSummary((Int32[])d.ToArray(typeof(Int32)))); }