예제 #1
0
        private Point ConvertGroupHeader(ExporterCollection exportList, BaseSection section, Point offset)
        {
            var retVal  = Point.Empty;
            var rowSize = Size.Empty;
            ReportItemCollection groupCollection = null;
            var groupedRows = BaseConverter.FindGroupHeader(section);

            if (groupedRows.Count == 0)
            {
                groupCollection = section.Items.ExtractGroupedColumns();
                base.DataNavigator.Fill(groupCollection);
                base.FireSectionRendering(section);
                ExporterCollection list = StandardPrinter.ConvertPlainCollection(groupCollection, offset);

                StandardPrinter.EvaluateRow(base.Evaluator, list);

                exportList.AddRange(list);
                AfterConverting(list);
                retVal = new Point(DefaultLeftPosition, offset.Y + groupCollection[0].Size.Height + 20 + (3 * GlobalValues.GapBetweenContainer));
            }
            else
            {
                FillRow(groupedRows[0], base.DataNavigator);
                rowSize = groupedRows[0].Size;
                base.FireGroupHeaderRendering(groupedRows[0]);
                retVal = ConvertStandardRow(exportList, groupedRows[0]);

                groupedRows[0].Size = rowSize;
            }
            return(retVal);
        }
예제 #2
0
        private static bool CheckPageBreakAfterGroupChange(ISimpleContainer container)
        {
            var groupedRows = BaseConverter.FindGroupHeader(container);

            if (groupedRows.Count > 0)
            {
                var groupedRow = groupedRows[0];
                return(groupedRow.PageBreakOnGroupChange);
            }
            return(false);
        }