private void CreateSummaries(IEnumerable<ReportWizardColumn> columns, Band band, SummaryRunning running, Font summaryFont)
 {
     foreach (ReportWizardColumn column in columns)
         if (!string.IsNullOrEmpty(column.Expression) && column.Summary.HasValue && column.Tag is XRControl)
         {
             XRControl control = (XRControl)column.Tag;
             if (control.DataBindings.Count() == 0) continue;
             XRLabel label = CreateLabel();
             band.Controls.Add(label);
             AddDataBinding(label, control.DataBindings[0].DataMember);
             label.Summary.Running = running;
             label.Summary.Func = column.Summary.Value;
             label.Summary.IgnoreNullValues = true;
             label.Left = control.Left;
             label.Width = control.Width;
             label.Font = summaryFont;
         }
 }
        static void BuildSummaryTemplate(SnapDocument template, TableCell box, GridSummaryItem source, SummaryRunning running)
        {
            MatchCollection formatFields = formatFinder.Matches(source.DisplayFormat);
            int             k            = 0;

            template.InsertText(box.ContentRange.End, " ");
            foreach (System.Text.RegularExpressions.Match match in formatFields)
            {
                template.InsertText(box.ContentRange.End, source.DisplayFormat.Substring(k, match.Groups[1].Index - k));
                k = match.Groups[1].Index + match.Groups[1].Length;
                SnapText snText = template.CreateSnText(box.ContentRange.End, source.FieldName);
                snText.BeginUpdate();
                snText.SummaryRunning = running;
                snText.SummaryFunc    = source.SummaryType;
                string format = match.Groups[2].Value;
                if (!String.IsNullOrEmpty(format))
                {
                    if (format.EndsWith("C", StringComparison.InvariantCultureIgnoreCase))
                    {
                        snText.FormatString = @"$0.00";
                    }
                }
                snText.EndUpdate();
            }
            template.InsertText(box.ContentRange.End, source.DisplayFormat.Substring(k));
        }