Exemple #1
0
        /// <summary>
        /// print the lowest level (has no child levels)
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        protected override Boolean PrintLowestLevel(TResult row)
        {
            Boolean ReturnValue;
            String  descr0 = "";
            String  descr1 = "";

            if (!FPrinter.ValidYPos())
            {
                // not enoughSpace
                ReturnValue         = false;
                FNextElementToPrint = row.childRow;
                FNextElementLineToPrint[row.depth] = eStageElementPrinting.eDetails;
            }
            else
            {
                // can either print descr or header
                if ((row.descr != null) && (row.descr[0].ToString().Length > 0))
                {
                    descr0 = row.descr[0].ToString();
                }
                else if ((row.header != null) && (row.header[0].ToString().Length > 0))
                {
                    descr0 = row.header[0].ToString();
                }

                if ((row.descr != null) && (row.descr[1].ToString().Length > 0))
                {
                    descr1 = row.descr[1].ToString();
                }
                else if ((row.header != null) && (row.header[1].ToString().Length > 0))
                {
                    descr1 = row.header[1].ToString();
                }

                FPrinter.PrintString(descr0, eFont.eDefaultFont, GetPosition(ReportingConsts.COLUMNLEFT + 1, row.depth,
                                                                             FPrinter.Cm(COLUMNLEFT1_POS)),
                                     GetWidth(ReportingConsts.COLUMNLEFT + 1,
                                              row.depth,
                                              FPrinter.Cm(1)),
                                     GetAlignment(ReportingConsts.COLUMNLEFT + 1,
                                                  row.depth, eAlignment.eLeft));
                FPrinter.PrintString(descr1, eFont.eDefaultFont, GetPosition(ReportingConsts.COLUMNLEFT + 2,
                                                                             row.depth,
                                                                             FPrinter.Cm(COLUMNLEFT2_POS)),
                                     GetWidth(ReportingConsts.COLUMNLEFT + 2, row.depth,
                                              FPrinter.Cm(3)),
                                     GetAlignment(ReportingConsts.COLUMNLEFT + 2,
                                                  row.depth, eAlignment.eLeft));
                PrintColumns(row);
                FNextElementLineToPrint[row.depth] = eStageElementPrinting.eFinished;
                ReturnValue = true;
            }

            return(ReturnValue);
        }
Exemple #2
0
        /// <summary>
        /// can either print or simulate
        /// </summary>
        /// <returns>s the current y position after printing or simulating
        /// </returns>
        protected override double PrintNormalLevelFooter(TResult row)
        {
            Boolean linePrinted;

            linePrinted = false;

            // footer
            if (FParameters.Get("SpaceLineAbove", -1, row.depth, eParameterFit.eExact).ToBool() == true)
            {
                FPrinter.LineSpaceFeed(eFont.eDefaultFont);
            }

            if (FParameters.Get("FullLineAbove", -1, row.depth, eParameterFit.eExact).ToBool() == true)
            {
                FPrinter.DrawLine(FPrinter.LeftMargin, FPrinter.Width, eLinePosition.eAbove, eFont.eDefaultFont);
                FPrinter.LineSpaceFeed(eFont.eDefaultFont);
            }

            FPrinter.PrintString(row.descr[0].ToString(), eFont.eDefaultFont,
                                 GetPosition(ReportingConsts.COLUMNLEFT + 1, row.depth,
                                             FPrinter.Cm(COLUMNLEFT1_POS)),
                                 GetWidth(ReportingConsts.COLUMNLEFT + 1, row.depth, FPrinter.Cm(3)),
                                 GetAlignment(ReportingConsts.COLUMNLEFT + 1, row.depth, eAlignment.eLeft));
            PrintColumns(row);
            linePrinted = FPrinter.PrintString(row.descr[1].ToString(), eFont.eDefaultFont,
                                               GetPosition(ReportingConsts.COLUMNLEFT + 1, row.depth,
                                                           FPrinter.Cm(COLUMNLEFT1_POS)),
                                               GetWidth(ReportingConsts.COLUMNLEFT + 1, row.depth, FPrinter.Cm(3)),
                                               GetAlignment(ReportingConsts.COLUMNLEFT + 1, row.depth, eAlignment.eLeft));

            if (linePrinted)
            {
                FPrinter.LineFeed(eFont.eDefaultFont);
            }

            if (FParameters.Get("FullLineBelow", -1, row.depth, eParameterFit.eExact).ToBool() == true)
            {
                FPrinter.DrawLine(FPrinter.LeftMargin, FPrinter.Width, eLinePosition.eAbove, eFont.eDefaultFont);
                FPrinter.LineSpaceFeed(eFont.eDefaultFont);
            }

            if (FParameters.Get("SpaceLineBelow", -1, row.depth, eParameterFit.eExact).ToBool() == true)
            {
                FPrinter.LineSpaceFeed(eFont.eDefaultFont);
            }

            FNextElementLineToPrint[row.depth] = eStageElementPrinting.eFinished;
            return(FPrinter.CurrentYPos);
        }
Exemple #3
0
        /// <summary>
        /// print the header of a normal level
        /// </summary>
        /// <param name="row"></param>
        /// <returns></returns>
        protected override Boolean PrintNormalLevelHeader(TResult row)
        {
            Boolean ReturnValue;
            Boolean linePrinted;

            if (!FPrinter.ValidYPos())
            {
                // not enoughSpace
                FNextElementToPrint = row.childRow;
                FNextElementLineToPrint[row.depth] = eStageElementPrinting.eHeader;
                ReturnValue = false;
            }
            else
            {
                linePrinted = FPrinter.PrintString(row.header[0].ToString(),
                                                   eFont.eDefaultFont,
                                                   GetPosition(ReportingConsts.HEADERCOLUMN + 1, row.depth,
                                                               FPrinter.Cm(COLUMNLEFT1_POS)),
                                                   GetWidth(ReportingConsts.HEADERCOLUMN + 1, row.depth,
                                                            FPrinter.Cm(3)),
                                                   GetAlignment(ReportingConsts.HEADERCOLUMN + 1, row.depth, eAlignment.eLeft));
                linePrinted = FPrinter.PrintString(row.header[1].ToString(),
                                                   eFont.eDefaultFont,
                                                   GetPosition(ReportingConsts.HEADERCOLUMN + 2, row.depth,
                                                               FPrinter.Cm(COLUMNLEFT2_POS)),
                                                   GetWidth(ReportingConsts.HEADERCOLUMN + 2, row.depth,
                                                            FPrinter.Cm(3)),
                                                   GetAlignment(ReportingConsts.HEADERCOLUMN + 1, row.depth, eAlignment.eLeft)) ||
                              linePrinted;

                if (linePrinted)
                {
                    FPrinter.LineFeed(eFont.eDefaultFont);
                }

                ReturnValue = true;
            }

            FNextElementLineToPrint[row.depth] = eStageElementPrinting.eDetails;
            return(ReturnValue);
        }