Click here to Skip to main content
15,893,190 members
Articles / Multimedia / GDI+

A ReportPrinting Framework

Rate me:
Please Sign up or sign in to vote.
4.82/5 (17 votes)
23 Jul 2010BSD10 min read 118.5K   8.7K   178  
A Framework to build graphical printing reports with absolute layout based on Mike Mayer's ReportPrinting core library.
<?xml version="1.0"?>
<doc>
    <assembly>
        <name>ReportPrinting</name>
    </assembly>
    <members>
        <member name="T:ReportPrinting.SectionBreak">
            <summary>
            SectionBreak is used to create page breaks, column breaks,
            and other breaks to flow like that.
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportSection">
            <summary>
            ReportSection represents a section of a report.
            </summary>
            <remarks>
            <para>
            There are several subclasses of ReportSection, one for text,
            one for a grid of data, one for just a simple horizontal line
            <seealso cref="T:ReportPrinting.SectionText"/>
            <seealso cref="T:ReportPrinting.SectionTable"/>
            </para>
            <para>
            For the developer trying to inherit from ReportSection, there are
            several things to note.
            </para>
            <para>
            First, override the following functions: 
                DoBeginPrint, DoCalcSize, and DoPrint
            The order that these are called by the framework is more or less
            summarized as follows:
            </para> 
            <code>
                DoBeginPrint()    // called once before all other functions are called.
                do {
                   DoCalcSize()   // called once before each call to DoPrint
                   if (Fits)
                      DoPrint()   // if it Fits, DoPrint()
                } while (Continued)
            </code>    
            <para>
            But there are many more complicated scenarios.  For example,
            if bounds change between the calls DoCalcSize and DoPrint, the following
            may occur:
            </para>
            <code>
                DoBeginPrint()    // called once before all other functions are called.
                do {
                   DoCalcSize()   // called once before each call to DoPrint
                   if (Fits) {
                      BoundsChanged()   // indicates that bounds have changed
                      if (!sized) {
                         DoCalcSize()  // if BoundsChanged calls ResetSize, 
                      }                // then DoCalcSize will be called again
                      DoPrint()        // if it Fits, DoPrint()
                   }
                } while (Continued)
            </code> 
            <para>
            </para>   
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportSection.#ctor">
            <summary>
            Default constructor, does nothing
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.requiresNonEmptyBounds">
            <summary>
            Indicates that this section requires actual space.
            The only sections that would specificaly set this to
            false would be something like the SectionBreak.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.requiredSize">
            <summary>
            The content size required for the next call to print
            (this is the area inside the margins).
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.size">
            <summary>
            The size that will be used on the following call to print
            (including margins and/or UseFullHeight / UseFullWidth)
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.continued">
            <summary>
            True if the next call to print will not complete the section.
            False if the next call to print will finish the entire section.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.fits">
            <summary>
            True if the section fits in the bounds given, 
            false otherwise.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.sized">
            <summary>
            Indicates that CalcSize has been run and
            the size / continued values are good.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.startedPrinting">
            <summary>
            Indicates that BeginPrint has been called
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.sizingBounds">
            <summary>
            The bounds used to size with.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportSection.BeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.Reset">
            <summary>
            Resets the entire section, useful at the very beginning
            of a print (before Graphics is even known)
            to reset startedPrinting.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportSection.ResetSize">
            <summary>
            Resets the size values.  This enables
            the CalcSize method to be called again.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportSection.CalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Method called to Calculate the size required for
            the next Print.  Calling this method initializes
            the values Size and Continued.  Once these values
            are initialized, further calls to CalcSize have
            no affect, unless ResetSize() is called.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.Print(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Method called to Print this ReportSection.
            If CalcSize has not already been called, it will call it.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.LimitBounds(ReportPrinting.Bounds)">
            <summary>
            Limits a bounds down to MaxWidth and MaxHeight
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportSection.SetSize(System.Drawing.SizeF,ReportPrinting.Bounds)">
            <summary>
            Sets the size variable based on the requiredSize provided.
            The requiredSize should not include margins since
            those are added by SetSize().  
            It also takes into account FullWidth and FullHeight and
            uses the values from bounds if required.
            </summary>
            <param name="requiredSize">The size required for the section</param>
            <param name="bounds">The full bounds allowed</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.SetFits(System.Boolean)">
            <summary>
            Sets the value for fits, not recommended to use this,
            but in an emergency you may
            </summary>
            <param name="val">New value</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.SetContinued(System.Boolean)">
            <summary>
            Sets the value for continued, not recommended to use this,
            but in an emergency you may
            </summary>
            <param name="val">New value</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            This method is called after a size and before a print if
            the bounds have changed between the sizing and the printing.
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>SectionSizeValues for the new values of size, fits, continued</returns>
            <remarks>To simply have size recalled, implement the following:
            <code>
               this.ResetSize();
               return base.BoundsChanged (originalBounds, newBounds);
            </code>
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportSection.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            This method is called exactly once.
            This method is called prior to DoCalcSize and DoPrint.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.ReportSection.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called once
            prior to each call to Print.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            The bounds passed already takes the margins into account - so you cannot
            print or do anything within these margins.
            </param>
            <returns>The values for RequireSize, Fits and Continues for this section.</returns>
        </member>
        <member name="M:ReportPrinting.ReportSection.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called once prior to each
            call of DoPrint.
            DoPrint is not called if DoCalcSize sets fits to false.
            It should obey the values of Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            These bounds already take the margins into account.
            </param>
        </member>
        <member name="P:ReportPrinting.ReportSection.HorizontalAlignment">
            <summary>
            Gets or sets the horizontal alignment for this section
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.VerticalAlignment">
            <summary>
            Gets or sets the vertical alignment for this section
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.UseFullHeight">
            <summary>
            This section consumes the full height passed to it during print.
            Default is false.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.UseFullWidth">
            <summary>
            This section consumes the full width passed to it during print.
            Default is false.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.MarginLeft">
            <summary>
            Gets or sets the margin on the left side.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.MarginRight">
            <summary>
            Gets or sets the margin on the right side.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.MarginTop">
            <summary>
            Gets or sets the margin on the top.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.MarginBottom">
            <summary>
            Gets or sets the margin on the bottom.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.Margin">
            <summary>
            Sets the magins on all four sides
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.MaxWidth">
            <summary>
            Gets or sets the MaxWidth this section will consume
            on a pass.
            </summary>
            <remarks>
            Default value (0) disables any max.
            </remarks>
        </member>
        <member name="P:ReportPrinting.ReportSection.MaxHeight">
            <summary>
            Gets or sets the MaxHeight this section will consume
            on a pass.
            </summary>
            <remarks>
            Default value (0) disables any max.
            </remarks>
        </member>
        <member name="P:ReportPrinting.ReportSection.KeepTogether">
            <summary>
            Keep this section together on one page
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.Size">
            <summary>
            Gets the size that will be used on the following call to print
            (including margins and/or UseFullHeight / UseFullWidth)
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.RequiredSize">
            <summary>
            Gets the actual required size for content 
            that will be used on the following call to print
            (excluding margins and/or UseFullHeight / UseFullWidth)
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.Continued">
            <summary>
            Gets the boolean flag for if this ReportSection needs
            to be continued.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportSection.Fits">
            <summary>
            Gets the boolean flag for if this ReportSection 
            fits within the bounds at all.
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportSection.SectionSizeValues">
            <summary>
            A struct with values requied by DoCalcSize
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.SectionSizeValues.RequiredSize">
            <summary>
            The required size for the section.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.SectionSizeValues.Fits">
            <summary>
            Whether or not the section fits in the bounds given.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportSection.SectionSizeValues.Continued">
            <summary>
            Whether or not the section must be continued later.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionBreak.#ctor">
            <summary>
            Constructor for a section that breaks to next page
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionBreak.#ctor(System.Boolean)">
            <summary>
            Constructor for a section
            </summary>
            <param name="pageBreak">True to break for a page,
            false to just break for, say, a column or a line.</param>
        </member>
        <member name="M:ReportPrinting.SectionBreak.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            This method is called after a size and before a print if
            the bounds have changed between the sizing and the printing.
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>SectionSizeValues for the new values of size, fits, continued</returns>
        </member>
        <member name="M:ReportPrinting.SectionBreak.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.SectionBreak.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called once
            prior to each call to Print.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            The bounds passed already takes the margins into account - so you cannot
            print or do anything within these margins.
            </param>
            <returns>The values for RequireSize, Fits and Continues for this section.</returns>
        </member>
        <member name="M:ReportPrinting.SectionBreak.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called once prior to each
            call of DoPrint.
            DoPrint is not called if DoCalcSize sets fits to false.
            It should obey the values of Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            These bounds already take the margins into account.
            </param>
        </member>
        <member name="P:ReportPrinting.SectionBreak.PageBreak">
            <summary>
            Gets or sets if this break will cause a new page,
            or simply fill up the rest of this section
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBreak.NewPageOrientation">
            <summary>
            Sets the new page orientation that will be used by the document after this break (assuming a page break).
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionBox">
            <summary>
            SectionBox is a simple rectangular section that
            represents a box.  It tries to follow the CSS box-style
            conventions as much as possible.
            </summary>
            <remarks>
            <para>
            Although SectionBox contains one section of contents, it isn't stricly a
            container in the class hierarchy, since it doesn't inherit from SectionContainer.
            However, it does contain one section which can be assigned to it.  
            And the ReportBuilder class, when it supports the SectionBox, will treat it 
            as a container by assigning a layered or linear container to the box.
            </para>
            <para>
            The box follows many of the properties from the W3C box model.  
            I recommend visiting the following pages to learn more:
            <a href="http://www.w3.org/TR/REC-CSS2/box.html">
            http://www.w3.org/TR/REC-CSS2/box.html </a> and
            <a href="http://www.w3.org/TR/REC-CSS2/visuren.html#positioning-scheme">
            http://www.w3.org/TR/REC-CSS2/visuren.html#positioning-scheme</a>
            for more details.</para>
            <para>
            The margins are set the same as for any other report section. 
            The margins are always clear (unpainted). The borders are set 
            by specifying a <see cref="T:System.Drawing.Pen"/> object to use for each border. 
            The pen object specifies color and width.  The padding is specified in inches,
            again for each side independently.
            </para>
            <para>
            If a background brush is set (using the System.Drawing.Brushes), 
            it will paint the entire area inside the border (including the padding).
            </para>
            <para>
            The width and height can each be set independently, or not at all. 
            If the width is not specified, then the width will size to that of 
            the contents. If the width is explictly set using the Width property, 
            that width includes content, padding, border, and margins. 
            The width can also be set as a percentage of the parent 
            (using the WidthPercent property). 
            The same is true for the Height and HeightPercent properties.
            </para>
            <para>
            An offset can be set which moves the box in relation to the parent
            and normal flow. This should normally be used in LayeredLayout, as 
            the results in LinearLayout haven't been adequately tested.
            If offset is not specified, then the box is a normal box, 
            laid out according to the normal flow.
            </para>
            <para>
            The goal is that if an offset is specified, then 
            the box's position is calculated according to the
            normal flow (this is called the position in normal flow).
            Then the box is offset relative to its normal position.
            When a box B is relatively positioned, the position 
            of the following box is calculated as though B
            were not offset.  This would be the case in a linear layout.
            If the box is in a layered layout (LayeredSections container), then there
            is no "flow" and the box is simply positioned by offset + margins.
            </para>
            </remarks>
        </member>
        <member name="T:ReportPrinting.SectionContainer">
            <summary>
            This abstract class defines a container of sections.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionContainer.#ctor">
            <summary>
            Default constructor
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionContainer.sections">
            <summary>
            ArrayList of sections in this container.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionContainer.sectionIndex">
            <summary>
            Index to the current section
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionContainer.AddSection(ReportPrinting.ReportSection)">
            <summary>
            Add a section object to the list of sections
            Each section object should be a new instance of ReportSection
            </summary>
            <param name="section">The section info to add</param>
            <returns>The number of sections</returns>
        </member>
        <member name="M:ReportPrinting.SectionContainer.RemoveSection(System.Int32)">
            <summary>
            Removes a section from the document
            </summary>
            <param name="index">Index of the section to remove</param>
        </member>
        <member name="M:ReportPrinting.SectionContainer.GetSection(System.Int32)">
            <summary>
            Gets the section at the specified index
            </summary>
            <param name="index">Index of a section</param>
            <returns>A ReportSection object</returns>
        </member>
        <member name="M:ReportPrinting.SectionContainer.ClearSections">
            <summary>
            Clears all sections from the document.
            Printing a document with 0 sections is just fine,
            a little weird, but technically fine.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionContainer.ResetSize">
            <summary>
            Resets the size of the section, that is, it enforces
            that a call to CalcSize() will actully have an effect,
            and not just use a stored value.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionContainer.Reset">
            <summary>
            Resets the entire section, useful at the very beginning
            of a print (before Graphics is even known)
            to reset startedPrinting.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionContainer.CurrentSection">
            <summary>
            Gets the Current ReportSection
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionContainer.SectionCount">
            <summary>
            The number of sections in this document.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionBox.border">
            <summary>
            The four pens used to draw a border - plus
            this class has methods which assist in the drawing
            of the border
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionBox.GetBorderBounds(ReportPrinting.Bounds,System.Drawing.SizeF)">
            <summary>
            Gets the BorderBounds based on the bounds inside
            the margins,
            using Width and Height, UseFullWidth and UseFullHeight, 
            and optinally the contentSize (if non-zero)
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionBox.GetMaxContentBounds(ReportPrinting.Bounds)">
            <summary>
            If width / height is not specified, then it subtracts
            the border and padding bounds to create the returned bounds.
            If width / height is specified, then result is based
            on that width / height minux margins, border and padding.
            </summary>
            <param name="bounds">The bounds inside margins</param>
            <returns>The bounds outside the content area</returns>
        </member>
        <member name="M:ReportPrinting.SectionBox.AddSection(ReportPrinting.ReportSection)">
            <summary>
            Add a section object to the list of sections
            Only one section may be added - generally another section container.
            </summary>
            <param name="section">The section info to add</param>
            <returns>The number of sections</returns>
        </member>
        <member name="M:ReportPrinting.SectionBox.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            This method is called after a size and before a print if
            the bounds have changed between the sizing and the printing.
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>SectionSizeValues for the new values of size, fits, continued</returns>
            <remarks>To simply have size recalled, implement the following:
            <code>
               this.ResetSize();
               return base.ChangeBounds (originalBounds, newBounds);
            </code>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionBox.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            This method is called exactly once.
            This method is called prior to DoCalcSize and DoPrint.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.SectionBox.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called once
            prior to each call to Print.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            The bounds passed already takes the margins into account - so you cannot
            print or do anything within these margins.
            </param>
            <returns>The values for RequireSize, Fits and Continues for this section.</returns>
        </member>
        <member name="M:ReportPrinting.SectionBox.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            These bounds already take the margins into account.
            </param>
        </member>
        <member name="P:ReportPrinting.SectionBox.Width">
            <summary>
            Gets or sets the width for the box.
            This includes margins, borders, padding, and content.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.Height">
            <summary>
            Gets or sets the height for the box.
            This includes margins, borders, padding, and content.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.WidthPercent">
            <summary>
            Gets or sets the width for the box as a percent of the parent.
            This includes margins, borders, padding, and content.
            Note: In a horizontal layout, this will be the remaining percent
            on the page, not quite what we'd really want,
            but this is more to be used in LayeredLayout
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.HeightPercent">
            <summary>
            Gets or sets the height for the box as a percent of the parent
            This includes margins, borders, padding, and content.
            Note: In a vertical layout, this will be the remaining percent
            on the page, not quite what we'd really want.
            but this is more to be used in LayeredLayout
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.SizeToContentsWidth">
            <summary>
            Size the box's width to the contents
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.SizeToContentsHeight">
            <summary>
            Size the box's height to the contents
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.BorderTop">
            <summary>
            Gets or sets the pen used for the top border
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.BorderRight">
            <summary>
            Gets or sets the pen used for the right border
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.BorderBottom">
            <summary>
            Gets or sets the pen used for the bottom border
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.BorderLeft">
            <summary>
            Gets or sets the pen used for the left border
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.Border">
            <summary>
            Sets the pen used for all four sides of the border
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.PaddingTop">
            <summary>
            Gets or sets the top padding in inches
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.PaddingRight">
            <summary>
            Gets or sets the right padding in inches
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.PaddingBottom">
            <summary>
            Gets or sets the bottom padding in inches
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.PaddingLeft">
            <summary>
            Gets or sets the left padding in inches
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.Padding">
            <summary>
            Sets the padding on all four sides, in inches
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.OffsetTop">
            <summary>
            Gets or sets the relative offset on the top side.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.OffsetLeft">
            <summary>
            Gets or sets the relative offset on the left side.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionBox.Background">
            <summary>
            Gets or sets the background brush
            </summary>
        </member>
        <member name="T:ReportPrinting.VerticalAlignment">
            <summary>
            Describes the vertical alignment of an object.
            </summary>
        </member>
        <member name="F:ReportPrinting.VerticalAlignment.Top">
            <summary>
            Position text at the top
            </summary>
        </member>
        <member name="F:ReportPrinting.VerticalAlignment.Middle">
            <summary>
            Position text vertically centered
            </summary>
        </member>
        <member name="F:ReportPrinting.VerticalAlignment.Bottom">
            <summary>
            Position text at the bottom
            </summary>
        </member>
        <member name="T:ReportPrinting.HorizontalAlignment">
            <summary>
            Describes the horizontal alignment of an object.
            </summary>
        </member>
        <member name="F:ReportPrinting.HorizontalAlignment.Left">
            <summary>
            Aligned to the left side of the page
            </summary>
        </member>
        <member name="F:ReportPrinting.HorizontalAlignment.Center">
            <summary>
            Centered horizontally
            </summary>
        </member>
        <member name="F:ReportPrinting.HorizontalAlignment.Right">
            <summary>
            Aligned to the right side of the page
            </summary>
        </member>
        <member name="T:ReportPrinting.RepeatableTextSection">
            <summary>
            RepeatableTextSection is good for text that repeats 
            from page to page, such as a header or footer.
            </summary>
            <remarks>
            <para>
            Unique text can be set for different pages using the
            following properties:
            <list type="table">
            <listheader><term>Property name</term><description>Description</description></listheader>
            <item><term>TextFirstPage</term><description>Text to display on first page</description></item>
            <item><term>TextOddPage</term><description>Text to display on all odd pages</description></item>
            <item><term>TextEvenPage</term><description>Text to display on all even pages</description></item>
            <item><term>Text</term><description>Default value used if one of the above is null</description></item>
            </list>
            </para>
            <para>
            The following strings have special meanings.
            Each is substituted by the appropriate value
            if it appears within one of the above Text strings.
            <list type="table">
            <listheader><term>String</term><description>Description</description></listheader>
            <item><term>%p</term><description>Page Number</description></item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="T:ReportPrinting.SectionText">
            <summary>
            A section represeting just text.
            </summary>
            <remarks>
            <para>
            This class has two properties to be set.  First is Text which includes the
            string of text to be printed.  This could be one word, or many paragraphs.
            Second is TextStyle which defines the font, color, and margins for printing.
            </para>
            <para>
            The text will be aligned both horizontally and vertically, unless
            specifcally overriden by assigning the alignment with the
            ReportSection properties.
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionText.#ctor(System.String,ReportPrinting.TextStyle)">
            <summary>
            Constructor
            </summary>
            <param name="text">String of text to print</param>
            <param name="textStyle">TextStyle used to print the text</param>
        </member>
        <member name="F:ReportPrinting.SectionText.debugEnabled">
            <summary>
            Turns on certain run-time debugging information
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionText.ConvertAlign(System.Drawing.StringAlignment)">
            <summary>
            This function is used to convert a StringAlignment
            (Near, Center, Far) into a HorizontalAlignment used
            for sections (Left, Center, Right).
            It assumes the culture is left to right.
            </summary>
            <param name="stringAlign">A StringAlignment for the TextStyle</param>
            <returns>A HorizontalAlignment for the Section</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.ConvertAlign(ReportPrinting.HorizontalAlignment)">
            <summary>
            This function is used to convert a HorizontalAlignment
            for sections (Left, Center, Right)
            into a StringAlignment (Near, Center, Far).
            It assumes the culture is left to right.
            </summary>
            <param name="stringAlign">A HorizontalAlignment</param>
            <returns>StringAlignment</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.GetText(ReportPrinting.ReportDocument)">
            <summary>
            A function that should return the string to be printed on
            this call to Print()
            </summary>
            <param name="reportDocument">The parent ReportDocument.  
            Can be used to overload this function with page specific verions, etc.</param>
            <returns>A string to be printed on this page</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.GetStringFormat">
            <summary>
            Gets a StringFormat object based on the TextStyle
            and the HorizontalAlignment for the ReportSection.
            </summary>
            <returns>The StringFormat to use for this text section</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            Setup for printing (do nothing)
            </summary>
            <param name="g">Graphics object</param>
        </member>
        <member name="M:ReportPrinting.SectionText.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called exactly once
            prior to each call to Print.  It must update the values Size and
            Continued of the ReportSection base class.
            </summary>
            <param name="reportDocument">Parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
            <returns>SectionSizeValues</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.SectionText.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            Notification that the bounds has changed between
            the size and the print.  
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>New required size</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.CheckTextLayout(System.Drawing.Graphics)">
            <summary>
            Checks that the textLayout rectangle is large enough
            Sets fits based on the results.
            </summary>
            <param name="g">Graphics object</param>
            <returns>the value of fits</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.SetTextSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Sets the TextLayout rectangle to the correct size
            Also sets size, itFits, and continued of the base class
            </summary>
            <param name="doc">The parent ReportDocument</param>
            <param name="g">Graphics object</param>
            <param name="bounds">Bounds to draw within</param>
            <returns>SectionSizeValues</returns>
        </member>
        <member name="M:ReportPrinting.SectionText.GetOrigin">
            <summary>
            Returns a number 0-3 indicating the corner acting as origin
            based the alignments (0 if Left-Top, 1 if Right-Top,
            2 if Left-Bottom, 3 if Right-Bottom)
            or -1 if something is centered
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionText.GetPoint(ReportPrinting.Bounds,System.Int32)">
            <summary>
            Gets a Point from a bounds based on a given corner 0-3
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.Text">
            <summary>
            Text to print
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.TextStyle">
            <summary>
            The text style to use for text
            Defaults to TextStyle.Normal
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.MinimumWidth">
            <summary>
            Gets or sets minimum width that this section will try to print into.
            Default 1 inch
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.SingleLineMode">
            <summary>
            Gets or sets the flag indicating that only a single line of text prints
            per call to print.
            This is used when in document layout.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.UseReportHAlignment">
            <summary>
            Gets or sets the flag indicating that instead of using the alignments specified
            in the TextStyle, use the one specified in the ReportSection.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.UseReportVAlignment">
            <summary>
            Indicates that instead of using the alignments specified
            in the TextStyle, use the one specified in the ReportSection.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.HorizontalAlignment">
            <summary>
            Gets or sets the horizontal alignment for this section
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.VerticalAlignment">
            <summary>
            Gets or sets the vertical alignment for this section
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.MarginLeft">
            <summary>
            Gets or sets the margin on the left side.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.MarginRight">
            <summary>
            Gets or sets the margin on the right side.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.MarginTop">
            <summary>
            Gets or sets the margin on the top.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.MarginBottom">
            <summary>
            Gets or sets the margin on the bottom.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionText.CharIndex">
            <summary>
            Gets or sets the index of the next character to print
            </summary>
        </member>
        <member name="M:ReportPrinting.RepeatableTextSection.#ctor(System.String,ReportPrinting.TextStyle)">
            <summary>
            Constructor requires text and style
            </summary>
            <param name="text">Text to be displayed </param>
            <param name="textStyle">TextStyle to use for printing the text</param>
        </member>
        <member name="F:ReportPrinting.RepeatableTextSection.TextFirstPage">
            <summary>
            The text to use on the first page.
            Text will be used if TextFirstPage is null.
            </summary>
        </member>
        <member name="F:ReportPrinting.RepeatableTextSection.TextOddPage">
            <summary>
            The text to use on odd pages.
            Text will be used if TextOddPage is null.
            </summary>
        </member>
        <member name="F:ReportPrinting.RepeatableTextSection.TextEvenPage">
            <summary>
            The text to use on even pages.
            Text will be used if TextEvenPage is null.
            </summary>
        </member>
        <member name="M:ReportPrinting.RepeatableTextSection.GetText(ReportPrinting.ReportDocument)">
            <summary>
            A function that should return the string to be printed on
            this call to Print()
            </summary>
            <param name="reportDocument">The parent ReportDocument</param>
            <returns>A string to be printed on this page</returns>
        </member>
        <member name="T:ReportPrinting.IDataColumn">
            <summary>
            Interface used for a class that wants to be a DataColumn
            </summary>
        </member>
        <member name="M:ReportPrinting.IDataColumn.SizeColumn(System.Drawing.Graphics,System.Data.DataView)">
            <summary>
            Size the entire column, based on the properties
            SizeWidthToContents, SizeWidthToHeader, and anything else useful.
            </summary>
            <param name="g">Graphics used for measuring</param>
            <param name="dataSource">DataView of the actual data that will be printed</param>
        </member>
        <member name="M:ReportPrinting.IDataColumn.DrawRightLine(System.Drawing.Graphics,System.Single,System.Single,System.Single)">
            <summary>
            Draw the line down the right side of this column
            </summary>
            <param name="g">Graphics to draw on</param>
            <param name="x">X coordinate of the right edge of this column.
            Line will be drawn just to the left of this edge.</param>
            <param name="y">Y coordinate of the top of this column</param>
            <param name="height">Height of this column</param>
        </member>
        <member name="M:ReportPrinting.IDataColumn.SizePaintCell(System.Drawing.Graphics,System.Boolean,System.Boolean,System.Boolean,System.Data.DataRowView,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
            <summary>
            Size or paint a cell in this column
            </summary>
            <param name="g">Graphics used for measuring or painting</param>
            <param name="headerRow">Cell painted should be a header row</param>
            <param name="alternatingRow">Cell painted is in an alternating row</param>
            <param name="summaryRow">True if this row is a summary row</param>
            <param name="drv">DataRowView used if this is not a header row</param>
            <param name="x">X coordinate of the left side of the cell</param>
            <param name="y">Y coordinate of the top of the cell</param>
            <param name="width">Width of the cell</param>
            <param name="height">Height of the cell (max height when in sizeonly mode)</param>
            <param name="sizeOnly">Only size the cell (don't paint) if true</param>
            <returns>Required size of the cell</returns>
        </member>
        <member name="P:ReportPrinting.IDataColumn.Width">
            <summary>
            Gets or sets the width of the column
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.MaxWidth">
            <summary>
            Gets or sets the max width of the column
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.RightPen">
            <summary>
            Gets or sets the pen used to draw a line on the right side of the column
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.SizeWidthToContents">
            <summary>
            Gets or sets a flag to size the width of the column to the contents of the column
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.SizeWidthToHeader">
            <summary>
            Gets or sets a flag to size the width of the column to the header of the column
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.MaxHeaderRowHeight">
            <summary>
            Gets or sets the max height of a header of this column (should be set only through the parent table.)
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.MaxDetailRowHeight">
            <summary>
            Gets or sets the max height of a row of this column  (should be set only through the parent table.)
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.HeaderTextStyle">
            <summary>
            Gets or sets the TextStyle used for the header row.
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.DetailRowTextStyle">
            <summary>
            Gets or sets the TextStyle used for detail rows.
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.AlternatingRowTextStyle">
            <summary>
            Gets or sets the TextStyle used for alternating rows.
            </summary>
        </member>
        <member name="P:ReportPrinting.IDataColumn.SummaryRowTextStyle">
            <summary>
            Gets or sets the TextStyle used for a final summary row.
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportDataColumn">
            <summary>
            ReportDataColumn provides the necessary information for
            formatting data for a column of a report.
            </summary>
            <remarks>
            <para>
            For every column to be presented within a section of data,
            a new ReportDataColumn object is instantiated and added
            to the <see cref="T:ReportPrinting.ReportSection"/>.
            At a minimum, each column describes a
            source field (column) from the DataSource,
            and a maximum width for the column.
            </para>
            <para>
            The ReportDataColumn can also be setup with its own unique
            <see cref="T:ReportPrinting.TextStyle"/> for header and normal rows.
            Therefore, each column's data could be formatted differently.
            Use the TextStyle to setup font, color, and alignment (left, center, right)
            </para>
            <para>
            A summary row will be printed if ShowSummaryRow is true for the table.
            Be sure to either set SummaryRowText or create an event handler for
            FormatSummaryRow to set the correct text to be displayed.
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.#ctor(System.String,System.Single)">
            <summary>
            Constructor
            </summary>
            <param name="field">The name of the field in the DataSource to be used in this column</param>
            <param name="maxWidth">The maxWidth for this column.</param>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.SizeColumn(System.Drawing.Graphics,System.Data.DataView)">
            <summary>
            Set the size of the column - must be called prior to printing
            or else width is never set.
            </summary>
            <param name="g">Graphics object</param>
            <param name="dataSource">DataSource for the cell contents</param>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.SizePaintCell(System.Drawing.Graphics,System.Boolean,System.Boolean,System.Boolean,System.Data.DataRowView,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
            <summary>
            Paints or measures the object passed in according 
            to the formatting rules of this column.
            </summary>
            <param name="g">the graphics to paint the value onto</param>
            <param name="headerRow">True if this is a header row</param>
            <param name="alternatingRow">True if this row is an "alternating" row (even row most likely)</param>
            <param name="summaryRow">True if this row is a summary row</param>
            <param name="drv">DataRowView to grab the cell from</param>
            <param name="x">the x coordinate to start the paint</param>
            <param name="y">the y coordinate to start the paint</param>
            <param name="width">the width of the cell</param>
            <param name="height">The max height of this cell (when in sizeOnly mode)</param>
            <param name="sizeOnly">only calculate the sizes</param>
            <returns>A sizeF representing the measured size of the string + margins</returns>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.DrawRightLine(System.Drawing.Graphics,System.Single,System.Single,System.Single)">
            <summary>
            Draws the line down the right side of the column
            </summary>
            <param name="g">Graphics object to drawn on</param>
            <param name="x">The right side of the column (line is drawn just to the left of the line)</param>
            <param name="y">Y position of the top of the line</param>
            <param name="height">The height of the line</param>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.GetTextStyle(System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Gets the TextStyle to use for this column
            </summary>
            <param name="headerRow">True if this is a header row</param>
            <param name="alternatingRow">True if this is an alternating row</param>
            <param name="summaryRow">True if this is a summary row</param>
            <returns>The TextStyle to use</returns>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.GetString(System.Boolean,System.Boolean,System.Data.DataRowView)">
            <summary>
            Gets a string for the information in this column based on
            the object passed.
            </summary>
            <param name="headerRow">True if the text should be the header text.</param>
            <param name="summaryRow">True if the text should reflect a summary row</param>
            <param name="drv">DataRowView of the current row being printed</param>
            <returns>A string to print in the report</returns>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.ApplyFormat(System.Object)">
            <summary>
            Applies FormatExpression to an object to convert it to a string
            </summary>
            <param name="obj">Any object</param>
            <returns>A string</returns>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.GetDetailRowString(System.Data.DataRowView)">
            <summary>
            Gets a string for a detail row, given a DataRowView for the row
            </summary>
            <param name="drv">DataRowView for the given row</param>
            <returns>String to be printed to the report</returns>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.UpdateMathForRow(System.Data.DataRowView,System.Object,System.String)">
            <summary>
            
            </summary>
            <param name="drv"></param>
            <param name="obj"></param>
            <param name="stringRepresentation"></param>
        </member>
        <member name="M:ReportPrinting.ReportDataColumn.GetSummaryRowString">
            <summary>
            Gets the string to use in the summary row by firing the FormatSummaryRow event.
            </summary>
            <returns>The string to use on the summary row.</returns>
        </member>
        <member name="E:ReportPrinting.ReportDataColumn.FormatColumn">
            <summary>
            An event fired for every cell in the column to
            get a properly formatted string for the corresponding object
            in the databse.
            </summary>
        </member>
        <member name="E:ReportPrinting.ReportDataColumn.UpdateMath">
            <summary>
            An event fired for every cell of the column to
            allow customization of how sum and count are calculated.
            </summary>
        </member>
        <member name="E:ReportPrinting.ReportDataColumn.FormatSummaryRow">
            <summary>
            An event fired to format the text for a summary row.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.Width">
            <summary>
            Gets or sets the width of the column.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.MaxWidth">
            <summary>
            Gets or sets the maximum width of the column.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.SizeWidthToHeader">
            <summary>
            Gets or sets a flag indicating the 
            column's width is sized to the header text
            The Width property, if non zero,
            will set the maximum width. 
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.SizeWidthToContents">
            <summary>
            Gets or sets a flag indicating the 
            column's width is size to the contents of
            all cells (not including header text).  This adds
            a bit of processing time for long tables.
            The Width property, if non zero,
            will set the maximum width.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.RightPen">
            <summary>
            Gets or sets the pen used to draw the line for columns
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.ReportPrinting#IDataColumn#MaxHeaderRowHeight">
            <summary>
            Gets or sets the max height of a header of this column (should be set only through the parent table.)
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.ReportPrinting#IDataColumn#MaxDetailRowHeight">
            <summary>
            Gets or sets the max height of a row of this column  (should be set only through the parent table.)
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.HeaderTextStyle">
            <summary>
            Gets or sets the text style to use for text
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.DetailRowTextStyle">
            <summary>
            Gets or sets the text style to use for text
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.AlternatingRowTextStyle">
            <summary>
            Gets or sets the text style to use for text in even rows
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.SummaryRowTextStyle">
            <summary>
            Gets or sets the text style to use for text in the summary row
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.HeaderRowText">
            <summary>
            Gets or sets the <see cref="T:System.String"/> to display in the header row.
            The default value is the field name.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.Field">
            <summary>
            Gets or sets the source field from the DataSource.  That is, this is
            the DataTable column name. 
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.FormatExpression">
            <summary>
            Gets or sets the format expression to use for output formatting.
            <seealso cref="M:System.String.Format(System.String,System.Object)"/>
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.NullValueString">
            <summary>
            Gets or sets the string used to represent null values in a cell.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.SummaryRowText">
            <summary>
            Gets or sets the string used to represent the summary row.
            Some special values can be used as expressions.
            The text actually printed may be changed in an event handler for
            FormatSummaryRow
            </summary>
            <remarks>
            Special values for SummaryRow include:
            <list type="table">
            <listheader>
            <term>Value</term>
            <description>Result in Table</description>
            </listheader>
            <item>
            <term>=[avg]</term>
            <description>Shows the mean (average) of all displayed values in the column.</description>
            </item>
            <item>
            <term>=[sum]</term>
            <description>Shows the sum of all displayed values in the column.</description>
            </item>
            <item>
            <term>=[count]</term>
            <description>Shows the number of items in the column (number of rows).</description>
            </item>
            </list>
            </remarks>
        </member>
        <member name="P:ReportPrinting.ReportDataColumn.RightPenWidth">
            <summary>
            Gets the width of the pen, or 0 if null
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionRichText">
            <summary>
            WORK IN PROGRESS: Prints the contents of a rich text box.
            </summary>
            <remarks>
            WORK IN PROGRESS...
            This code inspired by Mike Gold's Color Syntax Editor
            Although this version looks nothing like his original...
            http://www.c-sharpcorner.com/Code/2003/June/ColorSyntaxEditor.asp
            <para>
            It's really slow.
            There are many things it doesn't do so well, like:
            </para>
            <list type="bullet">
            <item><description>Word-wrapping isn't quite right (spaces may appear at the beginning of a line,
            and a period may be separated from the sentence it is ending.</description></item>
            <item><description>Some fonts don't seem to come through the rich text box property</description></item>
            </list>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionRichText.#ctor">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionRichText.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            This method is called after a size and before a print if
            the bounds have changed between the sizing and the printing.
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>SectionSizeValues for the new values of size, fits, continued</returns>
            <remarks>To simply have size recalled, implement the following:
            <code>
               this.ResetSize();
               return base.BoundsChanged (originalBounds, newBounds);
            </code>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionRichText.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            This method is called exactly once.
            This method is called prior to DoCalcSize and DoPrint.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.SectionRichText.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called once
            prior to each call to Print.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            The bounds passed already takes the margins into account - so you cannot
            print or do anything within these margins.
            </param>
            <returns>The values for RequireSize, Fits and Continues for this section.</returns>
        </member>
        <member name="M:ReportPrinting.SectionRichText.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called once prior to each
            call of DoPrint.
            DoPrint is not called if DoCalcSize sets fits to false.
            It should obey the values of Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            These bounds already take the margins into account.
            </param>
        </member>
        <member name="P:ReportPrinting.SectionRichText.RichTextBox">
            <summary>
            Gets or sets the RichTextBox to print...
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionRichText.WordToPrint">
            <summary>
            Contians all the characters that fit in a word
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionRichText.WordToPrint.Append(ReportPrinting.SectionRichText.CharToPrint)">
            <summary>
            Appends a CharToPrint to the end of the word
            </summary>
            <param name="aChar">The CharToPrint</param>
        </member>
        <member name="P:ReportPrinting.SectionRichText.WordToPrint.Item(System.Int32)">
            <summary>
            Indexer to get CharToPrint
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionRichText.LineToPrint">
            <summary>
            Contains all the words that fit in a line
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionRichText.LineToPrint.Item(System.Int32)">
            <summary>
            Indexer to get WordToPrint
            </summary>
        </member>
        <member name="T:ReportPrinting.PrintControl">
            <summary>
            A simple control that wraps the functionality of the key buttons required
            for printing
            </summary>
            <remarks>
            <para>
            Some code for this class inspired by:
            Alex Calvo's article 
            "Preview and Print from Your Windows Forms App with the .NET Printing Namespace"
            http://msdn.microsoft.com/msdnmag/issues/03/02/PrintinginNET/default.aspx
            </para>
            <para>
            You can customize a few things with the following properties:
            
            <list type="table">
            <item>
            <term>ShowStatusDialog</term>
            <description>
            The progress of the print job is shown in a status dialog.  Default is true.
            </description>
            </item>
            
            <item>
            <term>PrintInBackground</term>
            <description>
            Indicates that printing should be done in the background.  
            Default is true.  
            (Note, if your application exits while printing is still in progress, 
            it will quit.  Make sure to monitor the PrintInProgress flag).
            </description>
            </item>
            
            <item>
            <term>Printing</term>
            <description>
            This event is raised prior to printing.  It allows user code 
            to setup for printing.  (This is useful for dumping data from the 
            GUI to a helper class, for instance).
            </description>
            </item>
            </list>
            </para>
            </remarks>
            
            <example>
            To use the print control, place it on a form.
            Set the Document property to a valid PrintDocument
            (it doesn’t have to just be the ReportDocument).  That’s it!
            </example>
        </member>
        <member name="M:ReportPrinting.PrintControl.#ctor">
            <summary>
            This control is to be placed on a form that enables printing.
            It has four buttons: PageSetup, PrintPreview, Cancel and Ok.
            Ok will launch the normal PrintDialog for choosing a printer.
            </summary>
            <remarks>
            Simply instantiate this control on a form.
            Set the Document property to a valid PrintDocument.
            Optionally, subscribe to the event Printing to be notified
            of a print job before it is started.
            </remarks>
        </member>
        <member name="M:ReportPrinting.PrintControl.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControl.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControl.PageSetup(System.Object,System.EventArgs)">
            <summary>
            Called for a PageSetup
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControl.Preview(System.Object,System.EventArgs)">
            <summary>
            Call for a preview
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControl.Print(System.Object,System.EventArgs)">
            <summary>
            Call to print
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControl.btnCancel_Click(System.Object,System.EventArgs)">
            <summary>
            The Cancel button has been clicked.  
            (Standard button click event handler).
            Hides the parent form.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControl.Document">
            <summary>
            Gets or sets the PrintDocument used by the dialog.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControl.ShowStatusDialog">
            <summary>
            The progress of the print job is shown in a status dialog.
            Default is true.
            When true, the PrintControllerWithStatusDialog is used.  Otherwise,
            a StandardPrintController is used for printing.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControl.PrintInBackground">
            <summary>
            Indicates that printing should be done in the background.
            Default is true.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControl.PrintInProgress">
            <summary>
            Indicates that a print job is currently in progress.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControl.HideOnPrint">
            <summary>
            Gets or sets a flag indicating the parent of
            this control will be hidden when OK or Cancel
            is hit for this control.
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintControl.Printing">
            <summary>
            This event is raised prior to printing.  
            It allows user code to setup for the printing.
            Perhaps disable any Print buttons, etc.
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintControl.Printed">
            <summary>
            This event is raised after printing.
            It allows user code to cleanup after printing.
            Perhaps enable any Print buttons, etc.
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionImage">
            <summary>
            ReportSectionImage is a simple rectangular section that
            prints a provided image.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionImage.#ctor(System.Drawing.Image)">
            <summary>
            Constructor
            </summary>
            <param name="image">Image to print</param>
        </member>
        <member name="M:ReportPrinting.SectionImage.GetImageRect(ReportPrinting.Bounds)">
            <summary>
            Gets a rectangle for the image
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionImage.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            This method is called after a size and before a print if
            the bounds have changed between the sizing and the printing.
            Override this function to update anything based on the new location
            </summary>
            <param name="originalBounds">Bounds originally passed for sizing</param>
            <param name="newBounds">New bounds for printing</param>
            <returns>SectionSizeValues for the new values of size, fits, continued</returns>
            <remarks>To simply have size recalled, implement the following:
            <code>
               this.ResetSize();
               return base.ChangeBounds (originalBounds, newBounds);
            </code>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionImage.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            This method is used to perform any required initialization.
            This method is called exactly once.
            This method is called prior to DoCalcSize and DoPrint.
            </summary>
            <param name="g">Graphics object to print on.</param>
        </member>
        <member name="M:ReportPrinting.SectionImage.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called once
            prior to each call to Print.  
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            The bounds passed already takes the margins into account - so you cannot
            print or do anything within these margins.
            </param>
            <returns>The values for RequireSize, Fits and Continues for this section.</returns>
        </member>
        <member name="M:ReportPrinting.SectionImage.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called once prior to each
            call of DoPrint.
            DoPrint is not called if DoCalcSize sets fits to false.
            It should obey the values of Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.
            These bounds already take the margins into account.
            </param>
        </member>
        <member name="P:ReportPrinting.SectionImage.Image">
            <summary>
            Gets or sets the image to draw
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionImage.PreserveAspectRatio">
            <summary>
            Gets or sets the flag to preserve aspect ratio
            Default is true.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionImage.Transparency">
            <summary>
            Sets the alpha blending of the image.  A value
            between 0 (opaque) and 100 (transparent).
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportBuilder">
            <summary>
            This class assists with the building of a ReportDocument
            </summary>
            <remarks>
            <para>
            ReportBuilder assists with the building of a report.
            When it is constructed, you must provide the 
            <see cref="T:ReportPrinting.ReportDocument"/> to be built.
            </para>
            <para>
            Some summaries of important objects:
            </para>
            <para>
            In page header / footer text, the following strings have special meanings.
            <list type="table">
            <listheader><term>String</term><description>Description</description></listheader>
            <item><term>%p</term><description>Page Number</description></item>
            </list>
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.#ctor(ReportPrinting.ReportDocument)">
            <summary>
            Constructor
            </summary>
            <param name="reportDocument">The document to be built</param>
        </member>
        <member name="F:ReportPrinting.ReportBuilder.headerFooterMargins">
            <summary>
            headerFooterMargins indicates the default bottom margin for the header,
            and the top margin for the page footer if there is no line.
            If a line is added, then the margin is made equal to the
            total height of line (pen width + 2 * horizLineMargins.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddFormatExpression(System.Type,System.String)">
            <summary>
            Adds a default format expression for a specific Type.
            </summary>
            <param name="type">The type which should use the given format string.</param>
            <param name="formatString">A formatString to use for the given type. 
            See the Format method of <see cref="T:System.String"/> </param>
            <remarks>
            These default format expressions are copied into a column's
            FormatExpression when the column is created if the type matches.
            </remarks>
            <example>
            The following entry is added by default for DateTime objects.
            Unless a new string is added for that Type (or the default is
            removed) then all columns of DateTime type will be formated
            with the string "{0:d}"
            <code>
            string DefaultDateTimeFormatString = "{0:d}";
            AddFormatExpression(typeof(DateTime), DefaultDateTimeFormatString);
            </code>
            </example>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.ClearFormatExpression(System.Type)">
            <summary>
            Removes the default format expression for a given type
            </summary>
            <param name="type">The Type whose's default format expression should be removed</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartContainer(ReportPrinting.SectionContainer)">
            <summary>
            This adds the provided SectionContainer to the ReportDocument
            and makes it the default container for new sections added to the report.
            </summary>
            <param name="container">The SectionContainter to add</param>
            <returns>The SectionContainter started</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishContainer">
            <summary>
            Finish and close the last container opened
            </summary>
            <returns>The containter finished</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartLinearLayout(ReportPrinting.Direction)">
            <summary>
            Start a linear layout (that is, create a container
            from LinearSections, and add future sections to this
            container).
            </summary>
            <param name="direction">The Direction that the sub-sections
            of this linear section are laid out.  (Generally vertical)</param>
            <returns>The new LinearSections object started by this method</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishLinearLayout">
            <summary>
            Finish and close the last container opened, hopefully it
            is a container started with StartLinearLayout 
            </summary>
            <returns>The containter closed (as a LinearSections object)</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartLayeredLayout">
            <summary>
            Start a layered layout (that is, create a container
            from LayeredSections, and add future sections to this
            container) that expands to use the full width and 
            height of the parent section
            </summary>
            <returns>The new LayeredSections object started by this method</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartLayeredLayout(System.Boolean,System.Boolean)">
            <summary>
            Start a layered layout (that is, create a container
            from LayeredSections, and add future sections to this
            container).
            </summary>
            <param name="useFullWidth">Indicates that this layered layout will expand
            to full width within the parent layout</param>
            <param name="useFullHeight">Indicates that this layered layout will expand
            to full height within the parent layout</param>
            <returns>The new LayeredSections object started by this method</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishLayeredLayout">
            <summary>
            Finish and close the last container opened, hopefully it
            is a container started with StartLinearLayout 
            </summary>
            <returns>The containter closed (as a LinearSections object)</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartDocumentLayout">
            <summary>
            This is an unsupported function.  Avoid using it...
            Starts a linear horizontal layout within a parent vertical layout,
            which causes sections to first be layed out across a page as rows, then 
            down the page at the end of each row.
            </summary>
            <remarks>
            This DocumentLayout should be avoided.  The simple LinearSection
            with Vertical layout can handle most scenarios.  However, some more advanced
            setups may require this.
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishDocumentLayout">
            <summary>
            Finishes a document layout (really, it just finishes two
            LinearSections containers).
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartColumnLayout(System.Single,System.Single,System.Drawing.Pen)">
            <summary>
            Starts a layout of columns.
            </summary>
            <param name="columnWidth">The width of each column, in inches</param>
            <param name="spaceBetween">The distance between columns, in inches</param>
            <param name="lineDivider">Pen to use as a line divider</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartColumnLayout(System.Int32,System.Single,System.Drawing.Pen)">
            <summary>
            Start a layout of columns by specifying the number of columns.
            </summary>
            <param name="numberOfColumns">Number of columns to fit on the page.</param>
            <param name="spaceBetween">The distance between columns, in inches</param>
            <param name="lineDivider">A pen to use as a line divider</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartColumnLayout(System.Int32,System.Single)">
            <summary>
            Start a layout of columns by specifying the number of columns.
            </summary>
            <param name="numberOfColumns">Number of columns to fit on the page.</param>
            <param name="spaceBetween">The distance between columns, in inches</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishColumnLayout">
            <summary>
            Ends the layout in columns.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartBox">
            <summary>
            Starts a box section that can be used as a container for one section
            </summary>
            <returns>SectionBox added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartBox(System.Single,System.Drawing.Pen,System.Single,System.Drawing.Brush)">
            <summary>
            Starts a box section that can be used as a container for one section
            </summary>
            <param name="margins">Margins to use on all sides</param>
            <param name="borders">Border pen to use on all sides</param>
            <param name="padding">Padding to use on all sides</param>
            <param name="background">Brush to use for the background</param>
            <returns>SectionBox added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.StartBox(System.Single,System.Drawing.Pen,System.Single,System.Drawing.Brush,System.Single,System.Single)">
            <summary>
            Starts a box section that can be used as a container for one section
            </summary>
            <param name="margins">Margins to use on all sides</param>
            <param name="borders">Border pen to use on all sides</param>
            <param name="padding">Padding to use on all sides</param>
            <param name="background">Brush to use for the background</param>
            <param name="width">Width of the box, 0 to size to contents</param>
            <param name="height">Height of the box, 0 to size to contents</param>
            <returns>SectionBox added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.FinishBox">
            <summary>
            Stops the layout into a box.  This must be called after no more than
            one additional section is put into the box.
            </summary>
            <returns>SectionBox finished</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddSection(ReportPrinting.ReportSection)">
            <summary>
            Adds any ReportSection to the document.
            This method is intended for adding non-container sections, such as text,
            images, tables. See StartContainer method for beginning a section that
            is a container of other sections.
            </summary>
            <param name="section">ReportSection to add</param>
            <returns>The ReportSection added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddText(System.String,ReportPrinting.TextStyle)">
            <summary>
            Adds a section to the ReportDocument
            consisting of a text field with a given TextStyle
            </summary>
            <param name="text">Text for this section</param>
            <param name="textStyle">Text style to use for this section</param>
            <returns>ReportSection just created</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddText(System.String)">
            <summary>
            Adds a section to the ReportDocument
            consisting of a text field.
            </summary>
            <param name="text">Text for this section</param>
            <returns>ReportSection just created</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageBreak">
            <summary>
            Adds a page break at this point in the report
            </summary>
            <returns>SectionBreak added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageBreak(ReportPrinting.PageOrientation)">
            <summary>
            Adds a page break at this point in the report
            </summary>
            <param name="newOrientation">The PageOrientation (Portrait/Landscape) to be used
            by pages after the break</param>
            <returns>SectionBreak added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumnBreak">
            <summary>
            Adds a column break at this point in the report
            </summary>
            <returns>SectionBreak added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddHorizontalLine(System.Drawing.Pen)">
            <summary>
            Adds a horizontal line
            </summary>
            <param name="pen">Pen to use for the line</param>
            <returns>SectionLine added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddHorizontalLine">
            <summary>
            Adds a horizontal line using the document's NormalPen
            </summary>
            <returns>SectionLine added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddTable(System.Data.DataView,System.Boolean,System.Single)">
            <summary>
            Adds a data section with no default columns.
            Use the AddColumn() method to add those.
            </summary>
            <param name="dataSource">DataView for the source of data</param>
            <param name="repeatHeaderRow">Indicates a header row should be printed at the top of every page, 
            instead of just the first.  Use Table.SuppressHeaderRow to turn off all headers</param>
            <param name="tablePercentWidth">The width of the table as a percentage of the parent.</param>
            <returns>ReportSection just created</returns>
            <remarks>
            <para>
            If a non-zero tablePercentWidth is specified, then columns will be
            widened or narrowed proportionately, based on the desired width of
            each column. The maxColumnWidth is no longer guaranteed to be the max column width.
            Here is the algorithm:
            </para>
            <list type="number">
            <item><description>Set each column width to maxColumnWidth</description></item>
            <item><description>If sizeWidthToHeader and/or sizeWidthToContents are set, then
            reduce each column's width down to that necessary for the header and/or contents.</description></item>
            <item><description>Finally, take the combined widths of all columns and stretch them to
            make the table have the tablePercentWidth.</description></item>
            </list>
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddTable(System.Data.DataView,System.Boolean)">
            <summary>
            Adds a data section with no default columns.
            Use the AddColumn() method to add those.
            </summary>
            <param name="dataSource">DataView for the source of data</param>
            <param name="repeatHeaderRow">Indicates a header row should be printed at the top of every page, 
            instead of just the first.  Use Table.SuppressHeaderRow to turn off all headers</param>
            <returns>ReportSection just created</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddAllColumns(System.Single,System.Boolean,System.Boolean)">
            <summary>
            Adds all columns from the DataSource to the current section
            </summary>
            <param name="maxWidth">Maximum width for the columns</param>
            <param name="sizeWidthToHeader">Size the columns based on the header</param>
            <param name="sizeWidthToContents">Size the columns based on the data contents</param>
        </member>
        <member name="F:ReportPrinting.ReportBuilder.UseImageColumnForBool">
            <summary>
            Flag that, when true, replaces a boolean column with an
            image of checks / no checks. If false, it simply uses a
            text column with the words true/false.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.Data.DataColumn,System.String,System.Single,System.Boolean,System.Boolean,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="col">Column in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="maxWidth">Maximum width of the column</param>
            <param name="sizeWidthToHeader">Size the column width based on the header</param>
            <param name="sizeWidthToContents">Size the column width based on the data contents</param>
            <param name="horizontalAlignment">Specifies the horizontal alignment of the
            contents of this column</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.Data.DataColumn,System.String,System.Single,System.Boolean,System.Boolean)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="col">Column in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="maxWidth">Maximum width of the column</param>
            <param name="sizeWidthToHeader">Size the column width based on the header</param>
            <param name="sizeWidthToContents">Size the column width based on the data contents</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.Data.DataColumn,System.String,System.Single)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="col">Column in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="width">Maximum width of the column</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.String,System.String,System.Single,System.Boolean,System.Boolean,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="columnName">Column name in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="maxWidth">Maximum width of the column</param>
            <param name="sizeWidthToHeader">Size the column width based on the header</param>
            <param name="sizeWidthToContents">Size the column width based on the data contents</param>
            <param name="horizontalAlignment">Specifies the horizontal alignment of the
            contents of this column</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.String,System.String,System.Single,System.Boolean,System.Boolean)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="columnName">Column name in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="width">Maximum width of the column</param>
            <param name="sizeWidthToHeader">Size the column width based on the header</param>
            <param name="sizeWidthToContents">Size the column width based on the data contents</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddColumn(System.String,System.String,System.Single)">
            <summary>
            Adds a single column to the current section (last section added).
            </summary>
            <param name="columnName">Column name in the data source</param>
            <param name="headerText">Text to display in the header row(s)</param>
            <param name="width">Width of the column</param>
            <returns>ReportDataColumn just added</returns>
        </member>
        <member name="F:ReportPrinting.ReportBuilder.DataGridToPrinterHScale">
            <summary>
            Defines the horizontal scale used to convert from
            DataGrid pixels (on the screen) to inches on the page.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddDataGrid(System.Windows.Forms.DataGrid,System.Single,System.Boolean)">
            <summary>
            Adds a table to the report, based on the formatting for a DataGrid
            </summary>
            <param name="dataGrid">DataGrid to use for data and formatting</param>
            <param name="textSize">Font size for text (in points)</param>
            <param name="includeFormatting">Include fonts and colors from data grid
            (textSize parameter is then ignored)</param>
            <returns>SectionTable added to the report</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.GetRepeatable(System.String,System.String,System.String,ReportPrinting.TextStyle,ReportPrinting.HorizontalAlignment)">
            <summary>
            Gets a RepeatableTextSection with the given parameters.
            </summary>
            <param name="firstPageText">A string to use for the first page</param>
            <param name="evenPageText">A string to use for even pages</param>
            <param name="oddPageText">A string to use for odd pages</param>
            <param name="textStyle">The <see cref="T:ReportPrinting.TextStyle"/> for the text.</param>
            <param name="hAlign">The <see cref="T:ReportPrinting.HorizontalAlignment"/>
            for the text.</param>
            <returns>A RepeatableTextSection</returns>
            <remarks>
            <para>
            Specifing null for the firstPageText will result in oddPageText
            being used instead.  The blank string "" will suppress printing
            of a header.
            </para>
            This method is often used with the PageHeader and PageFooter
            properties as follows:
            <code>
               builder.PageHeader.AddSection(builder.GetRepeatable(
                   "Text for first page",
                   "Text for odd pages",
                   "Text for even pages",
                   TextStyle.PageHeader,
                   StringAlignment.Center));
            </code>
            But it can be used anywhere you need to get a RepeateableTextSection.
            </remarks>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeader(System.String,System.String,System.String)">
            <summary>
            Adds a page header to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftText">
            Text to be displayed on the left side of the header
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerText">
            Text to be displayed in the center of the header
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightText">
            Text to be displayed on the right side of the header
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeader(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Adds a page header to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftTextFirstPage">
            Text to be displayed on the left side of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextFirstPage">
            Text to be displayed in the center of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextFirstPage">
            Text to be displayed on the right side of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftText">
            Text to be displayed on the left side of the header
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerText">
            Text to be displayed in the center of the header
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightText">
            Text to be displayed on the right side of the header
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeader(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Adds a page header to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftTextFirstPage">
            Text to be displayed on the left side of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextFirstPage">
            Text to be displayed in the center of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextFirstPage">
            Text to be displayed on the right side of the header on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftTextEvenPages">
            Text to be displayed on the left side of the header on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextEvenPages">
            Text to be displayed in the center of the header on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextEvenPages">
            Text to be displayed on the right side of the header on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftTextOddPages">
            Text to be displayed on the left side of the header on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextOddPages">
            Text to be displayed in the center of the header on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextOddPages">
            Text to be displayed on the right side of the header on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeader(System.String,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a header to the report document with one section of text.
            </summary>
            <param name="text">Text to be displayed</param>
            <param name="hAlign">Alignment of the text within the header</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeader(System.String,System.String,System.String,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a header to the report document with one section of text.
            </summary>
            <param name="textFirstPage">Text to be displayed on the first page.</param>
            <param name="textEvenPages">Text to be displayed on even pages.</param>
            <param name="textOddPages">Text to be dsiplayed on odd pages.</param>
            <param name="hAlign">Alignment of the text within the header</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooter(System.String,System.String,System.String)">
            <summary>
            Adds a page footer to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftText">
            Text to be displayed on the left side of the footer
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerText">
            Text to be displayed in the center of the footer
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightText">
            Text to be displayed on the right side of the footer
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooter(System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Adds a page footer to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftTextFirstPage">
            Text to be displayed on the left side of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextFirstPage">
            Text to be displayed in the center of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextFirstPage">
            Text to be displayed on the right side of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftText">
            Text to be displayed on the left side of the footer
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerText">
            Text to be displayed in the center of the footer
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightText">
            Text to be displayed on the right side of the footer
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooter(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
            <summary>
            Adds a page footer to the report document with three sections of text
            and optionally a separate first page text
            </summary>
            <param name="leftTextFirstPage">
            Text to be displayed on the left side of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextFirstPage">
            Text to be displayed in the center of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextFirstPage">
            Text to be displayed on the right side of the footer on the first page.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftTextEvenPages">
            Text to be displayed on the left side of the footer on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextEvenPages">
            Text to be displayed in the center of the footer on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextEvenPages">
            Text to be displayed on the right side of the footer on even pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="leftTextOddPages">
            Text to be displayed on the left side of the footer on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="centerTextOddPages">
            Text to be displayed in the center of the footer on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
            <param name="rightTextOddPages">
            Text to be displayed on the right side of the footer on odd pages.
            Specifying String.Empty will leave the section blank.
            </param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooter(System.String,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a footer to the report document with one section of text.
            </summary>
            <param name="text">Text to be displayed</param>
            <param name="hAlign">Alignment of the text within the footer</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooter(System.String,System.String,System.String,ReportPrinting.HorizontalAlignment)">
            <summary>
            Adds a footer to the report document with one section of text.
            </summary>
            <param name="textFirstPage">Text to be displayed on the first page.</param>
            <param name="textEvenPages">Text to by displayed on even pages</param>
            <param name="textOddPages">Text to by displayed on odd pages</param>
            <param name="hAlign">Alignment of the text within the footer</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageHeaderLine">
            <summary>
            Adds a horizontal line to the bottom of the page header,
            to separate the header from the body.
            </summary>
            <remarks>
            In reality, the line goes into the bottom margin of the header's
            LayeredSections. This isn't completely desirable, but it's the
            easiest solution.
            </remarks>
            <returns>The SectionLine added.  Update the returned
            value to set pen, length, magins, etc.</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddPageFooterLine">
            <summary>
            Adds a horizontal line to the top of the page footer,
            to separate the footer from the body.
            </summary>
            <remarks>
            In reality, the line goes into the top margin of the footer's
            LayeredSections. This isn't completely desirable, but it's the
            easiest solution.
            </remarks>
            <returns>The SectionLine added.  Update the returned
            value to set pen, length, magins, etc.</returns>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddTextSection(System.String,ReportPrinting.TextStyle)">
            <summary>
            OBSOLETE METHOD - use AddText instead
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddTextSection(System.String)">
            <summary>
            OBSOLETE METHOD - use AddText instead
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddDataSection(System.Data.DataView,System.Boolean,System.Single)">
            <summary>
            OBSOLETE METHOD - use AddTable instead
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddDataSection(System.Data.DataView,System.Boolean)">
            <summary>
            OBSOLETE METHOD - use AddTable instead
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilder.AddDataSection(System.Data.DataView,System.Boolean,System.Single,System.Boolean,System.Boolean)">
            <summary>
            OBSOLETE METHOD - use AddTable and AddColumn instead
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.CurrentDocument">
            <summary>
            Gets the current document being built
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.CurrentContainer">
            <summary>
            Gets the current SectionContainer
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.CurrentSection">
            <summary>
            Gets the last section added throught AddSection()
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.Table">
            <summary>
            Gets the last section if it's a table
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.Line">
            <summary>
            Gets the last section if it's a line
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.Box">
            <summary>
            Gets the last section if it's a box
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.CurrentColumn">
            <summary>
            Gets the last column added through AddColumn()
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MaxDetailRowHeight">
            <summary>
            Used to determine the maximum size of a detail row
            any larger and it will be clipped at this size, possibly losing information
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MinDetailRowHeight">
            <summary>
            Used to determine the minimum size of a detail row
            Even if the row is smaller, it will add empty space before
            the next row is printed
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MaxHeaderRowHeight">
            <summary>
            Used to determine the maximum size of a header row
            any larger and it will be clipped at this size, possibly losing information
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MinHeaderRowHeight">
            <summary>
            Used to determine the minimum size of a header row
            Even if the row is smaller, it will add empty space before
            the next row is printed
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MaxPageHeaderHeight">
            <summary>
            Gets or sets the max page header height of the current document.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.MaxPageFooterHeight">
            <summary>
            Gets or sets the max page footer height of the current document.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.HorizLineMargins">
            <summary>
            Gets or sets the default top and bottom margins used
            for horizontal lines
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.DefaultColumnAlignment">
            <summary>
            Gets or sets the default HorizontalAlignment for columns
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.DefaultTablePen">
            <summary>
            Gets or sets the default pen used for table grid lines
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.PageHeader">
            <summary>
            Gets a LayeredSections container for the document's PageHeader.
            If ReportDocument's PageHeader is a valid LayeredSections
            object, then using this property returns that object.
            If ReportDocument's PageHeader is null or any other
            object, then using this property creates a new LayeredSection
            and replaces ReportDocument's PageHeader with the new section.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportBuilder.PageFooter">
            <summary>
            Gets a LayeredSections container for the document's PageFooter.
            If ReportDocument's PageFooter is a valid LayeredSections
            object, then using this property returns that object.
            If ReportDocument's PageFooter is null or any other
            object, then using this property creates a new LayeredSection
            and replaces ReportDocument's PageFooter with the new section.
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportBuilderException">
            <summary>
            Exception thrown by the builder class when it is used incorrectly
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBuilderException.#ctor(System.String)">
            <summary>
            Constructor
            </summary>
            <param name="msg">Message</param>
        </member>
        <member name="M:ReportPrinting.ReportBuilderException.#ctor(System.String,System.Exception)">
            <summary>
            Constructor
            </summary>
            <param name="msg">Message</param>
            <param name="innerException">An inner exception</param>
        </member>
        <member name="T:ReportPrinting.PrinterMarginInfo">
            <summary>
            Gets the page margin info - based on the following url:
            http://www.fawcette.com/vsm/2002_11/magazine/features/eaton/page5.aspx
            </summary>
            This is a sample of using this class to get a page bounds to be used for printing.
            <example>
            IntPtr hDc = e.Graphics.GetHdc();
            e.Graphics.ReleaseHdc(hDc);
            PrinterMarginInfo mi = new PrinterMarginInfo(hDc.ToInt32());
            Bounds pageBounds = mi.GetBounds (e.PageBounds, e.MarginBounds, scale);
            </example>
        </member>
        <member name="M:ReportPrinting.PrinterMarginInfo.#ctor(System.Int32)">
            <summary>
            The only constructer for this class
            </summary>
            <param name="deviceHandle">
            And int pointer, using a value returned from Graphics.GetHdc()
            </param>
        </member>
        <member name="M:ReportPrinting.PrinterMarginInfo.GetBounds(System.Drawing.Rectangle,System.Drawing.Rectangle,System.Single)">
            <summary>
            The 
            </summary>
            <param name="pageRectangle"></param>
            <param name="desiredMargins"></param>
            <param name="scale"></param>
            <returns></returns>
        </member>
        <member name="T:ReportPrinting.SectionLine">
            <summary>
            A very simple ReportSection that prints a line.
            </summary>
            <remarks>
            <para>
            A line can be created with a direction, a pen,
            and a length.  If no pen is specifed, the NormalLine
            pen from the current document will be used.
            If no length is specified, it is the full length,
            minus margins.
            </para>
            <para>
            The direction of the line (horizontal or vertical)
            is specifed with the Direction property.  Margins
            and alignment are specified the same as for other
            ReportSections.
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.SectionLine.#ctor(ReportPrinting.Direction)">
            <summary>
            Creates a report section line with default length and pen
            </summary>
            <param name="direction">Direction of the line (horizontal or vertical)</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.#ctor(ReportPrinting.Direction,System.Drawing.Pen)">
            <summary>
            Creates a report section line with default length
            </summary>
            <param name="direction">Direction of the line (horizontal or vertical)</param>
            <param name="pen">Pen to use to draw the line</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.#ctor(ReportPrinting.Direction,System.Drawing.Pen,System.Single)">
            <summary>
            Creates a report section line
            </summary>
            <param name="direction">Direction of the line (horizontal or vertical)</param>
            <param name="pen">Pen to use to draw the line</param>
            <param name="length">Length of the line (in inches)</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.#ctor(ReportPrinting.Direction,System.Single)">
            <summary>
            Creates a report section line with default pen
            </summary>
            <param name="direction">Direction of the line (horizontal or vertical)</param>
            <param name="length">Length of the line (in inches)</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.SetDefaultPen(ReportPrinting.ReportDocument)">
            <summary>
            Sets the default pen to the NormalPen used by reportDocument
            </summary>
            <param name="reportDocument">Parent ReportDocument</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            Does nothing
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionLine.SetLinePoints(ReportPrinting.Bounds)">
            <summary>
            Sets the line points y1, y2, x1, and x2 based
            on length, direction, etc.
            </summary>
            <param name="bounds">The maximum bounds for the line</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.GetSizeF">
            <summary>
            Returns the sizeF for the current line
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionLine.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called exactly once
            prior to each call to Print.  It must update the values Size and
            Continued of the ReportSection base class.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.SectionLine.BoundsChanged(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            Re-computes the line based on changed bounds
            </summary>
            <param name="originalBounds">Original bounds used for size</param>
            <param name="newBounds">New bounds</param>
            <returns>SectionSizeValues struct</returns>
        </member>
        <member name="P:ReportPrinting.SectionLine.Length">
            <summary>
            Gets or sets the length of the line.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionLine.Pen">
            <summary>
            Gets or sets the Pen used to draw the line.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionLine.Direction">
            <summary>
            Gets or sets the direction for the line.
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportImageColumn">
            <summary>
            A DataColumn that is used for true / false columns by
            showing an image for true and a different (or no) image for false.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportImageColumn.#ctor(System.String,System.Single)">
            <summary>
            Constructor of a true false column that creates a column
            using, be default, a check mark for true and no image for false values.
            </summary>
            <param name="field">The field within a dataview to use for the column.</param>
            <param name="maxWidth">The maximum width for this column</param>
        </member>
        <member name="F:ReportPrinting.ReportImageColumn.ImageWidth">
            <summary>
            Height of the image.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportImageColumn.ImageHeight">
            <summary>
            Width of the image.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportImageColumn.SizePaintCell(System.Drawing.Graphics,System.Boolean,System.Boolean,System.Boolean,System.Data.DataRowView,System.Single,System.Single,System.Single,System.Single,System.Boolean)">
            <summary>
            Paints or measures the object passed in according 
            to the formatting rules of this column.
            </summary>
            <param name="g">the graphics to paint the value onto</param>
            <param name="headerRow">True if this is a header row</param>
            <param name="alternatingRow">True if this row is an "alternating" row (even row most likely)</param>
            <param name="summaryRow">True if this row is a summary row</param>
            <param name="drv">DataRowView to grab the cell from</param>
            <param name="x">the x coordinate to start the paint</param>
            <param name="y">the y coordinate to start the paint</param>
            <param name="width">the width of the cell</param>
            <param name="height">The max height of this cell (when in sizeOnly mode)</param>
            <param name="sizeOnly">only calculate the sizes</param>
            <returns>A sizeF representing the measured size of the string + margins</returns>
        </member>
        <member name="M:ReportPrinting.ReportImageColumn.GetImage(System.Data.DataRowView)">
            <summary>
            Gets the image to draw based on the value in the DataRowView
            </summary>
            <param name="drv">DataRowView for the row currently being printed</param>
            <returns>An Image to draw</returns>
        </member>
        <member name="M:ReportPrinting.ReportImageColumn.GetImageRect(ReportPrinting.Bounds,System.Drawing.Image,ReportPrinting.TextStyle)">
            <summary>
            Gets a rectangle for the image
            </summary>
        </member>
        <member name="T:ReportPrinting.ReportBoolColumn">
            <summary>
            A DataColumn that is used for true / false columns by
            showing an image for true and a different (or no) image for false.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBoolColumn.#ctor(System.String,System.Single)">
            <summary>
            Constructor of a true false column that creates a column
            using, be default, a check mark for true and no image for false values.
            </summary>
            <param name="field">The field within a dataview to use for the column.</param>
            <param name="maxWidth">The maximum width for this column</param>
        </member>
        <member name="F:ReportPrinting.ReportBoolColumn.TrueImage">
            <summary>
            The image to use when the value is true.
            </summary>
        </member>
        <member name="F:ReportPrinting.ReportBoolColumn.FalseImage">
            <summary>
            The image to use when the value is false.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportBoolColumn.GetImage(System.Data.DataRowView)">
            <summary>
            Gets the image to draw based on the value in the DataRowView
            </summary>
            <param name="drv">DataRowView for the row currently being printed</param>
            <returns>An Image to draw</returns>
        </member>
        <member name="T:ReportPrinting.FormatColumnHandler">
            <summary>
            A delegate to handle column formatting.
            </summary>
        </member>
        <member name="T:ReportPrinting.UpdateMathHandler">
            <summary>
            A delegate to handle the processing of data for sum and count
            </summary>
        </member>
        <member name="T:ReportPrinting.FormatSummaryRowHandler">
            <summary>
            A delegate to handle the formatting of a summary row.
            </summary>
        </member>
        <member name="T:ReportPrinting.FormatColumnEventArgs">
            <summary>
            The Event Arguments used when a FormatColumn event is raised.
            </summary>
        </member>
        <member name="P:ReportPrinting.FormatColumnEventArgs.OriginalValue">
            <summary>
            The original value of the data to be printed in a column.
            </summary>
        </member>
        <member name="P:ReportPrinting.FormatColumnEventArgs.StringValue">
            <summary>
            The formatted string that should be printed in place of the
            original column data.
            </summary>
        </member>
        <member name="T:ReportPrinting.UpdateMathEventArgs">
            <summary>
            The Event Arguments used when a UpdateMath event is raised.
            </summary>
        </member>
        <member name="M:ReportPrinting.UpdateMathEventArgs.#ctor(System.Data.DataRowView,System.Object,System.String)">
            <summary>
            Constructor
            </summary>
        </member>
        <member name="P:ReportPrinting.UpdateMathEventArgs.OriginalValue">
            <summary>
            The original value of the data to be printed in a column.
            </summary>
        </member>
        <member name="P:ReportPrinting.UpdateMathEventArgs.DataRowView">
            <summary>
            The DataRowView for the current row
            </summary>
        </member>
        <member name="P:ReportPrinting.UpdateMathEventArgs.StringRepresentation">
            <summary>
             The String Representation of the OriginalValue
            </summary>
        </member>
        <member name="P:ReportPrinting.UpdateMathEventArgs.Sum">
            <summary>
            The sum of values in the rows of this column. When the event is fired, this
            sum reflects the sum of all rows prior to the current row.
            After the event, it should reflect the sum of all rows up to
            and including the current row.
            </summary>
        </member>
        <member name="P:ReportPrinting.UpdateMathEventArgs.Count">
            <summary>
            The count (number) of rows. When the event is fired, this
            count reflects the number of rows prior to the current row.
            After the event, it should reflect the count of all rows up to
            and including the current row.
            </summary>
        </member>
        <member name="T:ReportPrinting.FormatSummaryRowEventArgs">
            <summary>
            The Event Arguments used when a FormatSummaryRow event is raised.
            </summary>
        </member>
        <member name="P:ReportPrinting.FormatSummaryRowEventArgs.Field">
            <summary>
            The field name (column name) for the data source that this column represents.
            </summary>
        </member>
        <member name="P:ReportPrinting.FormatSummaryRowEventArgs.StringValue">
            <summary>
            The formatted string that should be printed in place of the
            original column data.
            </summary>
        </member>
        <member name="T:ReportPrinting.Bounds">
            <summary>
            A struct defined by a position (top-left corner)
            and a limit (bottom-right corner)
            </summary>
        </member>
        <member name="F:ReportPrinting.Bounds.FudgeFactor">
            <summary>
            Const used in comparing floats to overcome inprecision.
            </summary>
        </member>
        <member name="M:ReportPrinting.Bounds.#ctor(System.Drawing.PointF,System.Drawing.PointF)">
            <summary>
            Creates a Bounds struct with a top-left position
            and a bottom-right limit.
            </summary>
            <param name="position">A PointF for the top-left "position" of the bounds</param>
            <param name="limit">A PointF for the bottom-right "end position" of the bounds</param>
        </member>
        <member name="M:ReportPrinting.Bounds.#ctor(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Creates a Bounds struct with a top-left position
            and a bottom-right limit.
            </summary>
            <param name="posX">X coordinate of position</param>
            <param name="posY">Y coordinate of position</param>
            <param name="limitX">X coordinate of limit</param>
            <param name="limitY">Y coordinate of limit</param>
        </member>
        <member name="M:ReportPrinting.Bounds.#ctor(System.Drawing.RectangleF)">
            <summary>
            Creates a Bounds struct from a rectangle
            </summary>
            <param name="rectangle">Rectangle forming the boundaries
            of this bounds object</param>
        </member>
        <member name="F:ReportPrinting.Bounds.Position">
            <summary>
            The top-left position of this bounds
            </summary>
        </member>
        <member name="F:ReportPrinting.Bounds.Limit">
            <summary>
            The bottom-right limit of this bounds.
            </summary>
        </member>
        <member name="M:ReportPrinting.Bounds.op_Equality(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            Compares that the values of Position and Limit are identical
            between two bounds structs
            </summary>
            <param name="left">Bounds object on the left side of operator</param>
            <param name="right">Bounds object on the right side of operator</param>
            <returns>True if the two bounds have the same position and limit values</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.op_Inequality(ReportPrinting.Bounds,ReportPrinting.Bounds)">
            <summary>
            Compares that the values of Position and Limit are different
            between two bounds structs
            </summary>
            <param name="left">Bounds object on the left side of operator</param>
            <param name="right">Bounds object on the right side of operator</param>
            <returns>True if either of the two bounds have
            different position or limit values</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.Equals(System.Object)">
            <summary>
            Equals method
            </summary>
            <param name="obj">Object to compare</param>
            <returns>True iff obj is a Bounds struct and has the same Position and Limit</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetHashCode">
            <summary>
            Returns a hash code as the XOR of Position's and Limit's hashcodes
            </summary>
            <returns>An integer</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.ToString">
            <summary>
            Override of Object.ToString()
            </summary>
            <returns>String representing this object's value</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.IsEmpty">
            <summary>
            Indicates the bounds has zero space inside.
            </summary>
            <returns>True if the bounds width or height
            is less than or equal to 0.</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetSizeF">
            <summary>
            Gets the full size of the bounds (from position to limit)
            </summary>
            <returns>A sizeF struct representing the width and height
            of this bounds</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetRectangleF">
            <summary>
            Gets a RectangleF representing the full bounds
            </summary>
            <returns>A RectangleF struct representing the full bounds</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetRectangleF(System.Drawing.SizeF,ReportPrinting.HorizontalAlignment,ReportPrinting.VerticalAlignment)">
             <summary>
             Gets a rectangleF within the client area of the bounds with a given size.
             That is, the rectangle will be inside the margins of the bounds.
             If both width and height are maximized, it is the same as RectangleF
             </summary>
             <param name="size">size of the rectangle</param>
             <param name="hAlign">Alignment of the rectangle horizontally</param>
             <param name="vAlign">Alignment of the rectangle vertically</param>
            <returns>A RectangleF</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.Check(System.Drawing.RectangleF)">
            <summary>
            Checks that a Rectangle fits within bounds, and returns one that does
            </summary>
            <param name="rect">A rectangle struct</param>
            <returns>A rectangle struct identical to that provided,
            unless the right side or bottom side go past limit.
            It is assumed that the "position" is fine.</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.SizeFits(System.Drawing.SizeF)">
            <summary>
            Check if a given size fits in the bounds
            </summary>
            <param name="size">The required size to check for</param>
            <returns>True if the provided size is less than or equal to
            the current bounds in both width and height.
            </returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetBounds(System.Drawing.SizeF)">
            <summary>
            Gets the bounds large enough for the given size
            </summary>
            <param name="size">A size for the new bounds</param>
            <returns>A bounds with given size, positioned at "position"</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetBounds(System.Drawing.SizeF,ReportPrinting.HorizontalAlignment,ReportPrinting.VerticalAlignment)">
             <summary>
             Gets a bounds within the client area of the bounds with a given size.
             That is, the new bounds will be inside the margins of the bounds.
             If both width and height are maximized, it is the same as the
             original bounds
             </summary>
             <param name="size">size of the rectangle</param>
             <param name="hAlign">Alignment of the rectangle horizontally</param>
             <param name="vAlign">Alignment of the rectangle vertically</param>
            <returns>A RectangleF</returns>
        </member>
        <member name="M:ReportPrinting.Bounds.GetBounds(System.Single,System.Single,System.Single,System.Single)">
            <summary>
            Gets a Bounds struct representing the bounds inside the margins
            </summary>
            <param name="marginLeft">Left side margin, inches</param>
            <param name="marginRight">Right side margin, inches</param>
            <param name="marginTop">Top margin, inches</param>
            <param name="marginBottom">Bottom margin, inches</param>
            <returns>A bounds representing this bounds, less the margins</returns>
        </member>
        <member name="P:ReportPrinting.Bounds.Height">
            <summary>
            Gets the full height of the bounds
            </summary>
        </member>
        <member name="P:ReportPrinting.Bounds.Width">
            <summary>
            Gets the full width of the bounds
            </summary>
        </member>
        <member name="T:ReportPrinting.PrintControlToolBar">
            <summary>
            A simple control that wraps the functionality of the key buttons required
            for printing into a ToolBar
            </summary>
            <remarks>
            <para>
            Some code for this class inspired by:
            Alex Calvo's article 
            "Preview and Print from Your Windows Forms App with the .NET Printing Namespace"
            http://msdn.microsoft.com/msdnmag/issues/03/02/PrintinginNET/default.aspx
            </para>
            <para>
            You can customize a few things with the following properties:
            
            <list type="table">
            <item>
            <term>ShowStatusDialog</term>
            <description>
            The progress of the print job is shown in a status dialog.  Default is true.
            </description>
            </item>
            
            <item>
            <term>PrintInBackground</term>
            <description>
            Indicates that printing should be done in the background.  
            Default is true.  
            (Note, if your application exits while printing is still in progress, 
            it will quit.  Make sure to monitor the PrintInProgress flag).
            </description>
            </item>
            
            <item>
            <term>Printing</term>
            <description>
            This event is raised prior to printing.  It allows user code 
            to setup for printing.  (This is useful for dumping data from the 
            GUI to a helper class, for instance).
            </description>
            </item>
            </list>
            
            </para>
            </remarks>
            
            <example>
            To use the print control, place it on a form.
            Set the Document property to a valid PrintDocument
            (it doesn’t have to be a ReportDocument).  That’s it!
            </example>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.#ctor">
            <summary>
            This control is to be placed on a form that enables printing.
            It has four buttons: PageSetup, PrintPreview, Cancel and Ok.
            Ok will launch the normal PrintDialog for choosing a printer.
            </summary>
            <remarks>
            Simply instantiate this control on a form.
            Set the Document property to a valid PrintDocument.
            Optionally, subscribe to the event Printing to be notified
            of a print job before it is started.
            </remarks>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.PageSetup(System.Object,System.EventArgs)">
            <summary>
            Called for a PageSetup
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.Preview(System.Object,System.EventArgs)">
            <summary>
            Call for a preview
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.Print(System.Object,System.EventArgs)">
            <summary>
            Call to print
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.PrintToolBar_ButtonClick(System.Object,System.Windows.Forms.ToolBarButtonClickEventArgs)">
            <summary>
            A button in the Tool Bar has been Pressed
            </summary>
            <param name="sender">The sender of the object</param>
            <param name="e">Event Args</param>
        </member>
        <member name="M:ReportPrinting.PrintControlToolBar.btnCancel_Click">
            <summary>
            The Cancel button has been clicked.  (Standard button click event handler).
            Closes the parent form.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.Document">
            <summary>
            Gets or sets the PrintDocument used by the dialog.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.ShowStatusDialog">
            <summary>
            The progress of the print job is shown in a status dialog.
            Default is true.
            When true, the PrintControllerWithStatusDialog is used.  Otherwise,
            a StandardPrintController is used for printing.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.PrintInBackground">
            <summary>
            Indicates that printing should be done in the background.
            Default is true.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.PrintInProgress">
            <summary>
            Indicates that a print job is currently in progress.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.HideOnPrint">
            <summary>
            Gets or sets a flag indicating the parent of
            this control will be hidden when OK or Cancel
            is hit for this control.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.ToolBar">
            <summary>
            Property to provide access to ToolBar 
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.ShowCancelButton">
            <summary>
            Indicates that the Cancel Button should appear.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintControlToolBar.ShowTextLabels">
            <summary>
            Gets or sets a flag to show the text labels
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintControlToolBar.Printing">
            <summary>
            This event is raised prior to printing.  
            It allows user code to setup for the printing.
            Perhaps disable any Print buttons, etc.
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintControlToolBar.Printed">
            <summary>
            This event is raised after printing.
            It allows user code to cleanup after printing.
            Perhaps enable any Print buttons, etc.
            </summary>
        </member>
        <member name="T:ReportPrinting.PrintLogic">
            <summary>
            This control handles the logic required for printing.
            It doesn't provide much to the end user, it just simply
            wraps a PageSettings dialog, a PrintPreview dialog, and
            a PrintDialog so that you don't have to instantiate all three.
            </summary>
            <remarks>
            This class is used as the logic behind the PrintControl control
            and the PrintControlToolbar control.
            See the RichTextEdit sample for an example of using it.
            </remarks>
        </member>
        <member name="M:ReportPrinting.PrintLogic.onPrinting">
            <summary>
            Called prior to printing.  It raises the Printing event.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.onPrinted">
            <summary>
            Called after printing.  It raises the Printed event.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.PageSetup(System.Object,System.EventArgs)">
            <summary>
            Called for a PageSetup
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.Preview(System.Object,System.EventArgs)">
            <summary>
            Call for a preview
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.Print(System.Object,System.EventArgs)">
            <summary>
            Call to print
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.BeginBackgroundPrint">
            <summary>
            Start a background print job
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintLogic.PrintInBackgroundComplete(System.IAsyncResult)">
            <summary>
            A background print job is complete
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintLogic.Document">
            <summary>
            Gets or sets the PrintDocument used by the dialog.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintLogic.ShowStatusDialog">
            <summary>
            The progress of the print job is shown in a status dialog.
            Default is true.
            When true, the PrintControllerWithStatusDialog is used.  Otherwise,
            a StandardPrintController is used for printing.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintLogic.PrintInBackground">
            <summary>
            Indicates that printing should be done in the background.
            Default is true.
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintLogic.PrintInProgress">
            <summary>
            Indicates that a print job is currently in progress.
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintLogic.Printing">
            <summary>
            This event is raised prior to printing.  
            It allows user code to setup for the printing.
            Perhaps disable any Print buttons, etc.
            </summary>
        </member>
        <member name="E:ReportPrinting.PrintLogic.Printed">
            <summary>
            This event is raised after printing.
            It allows user code to cleanup after printing.
            Perhaps enable any Print buttons, etc.
            </summary>
        </member>
        <member name="T:ReportPrinting.LayeredSections">
            <summary>
            A section that layers all children sections.  That is,
            each sub-section is given the full bounds.
            It is used commonly for headers and footers.
            </summary>
            <remarks>
            <para>
            The LayeredSections class is a subclass of SectionContainer, 
            which is a subclass of ReportSection. Therefore, the 
            LayeredSections can be thought of as "a printable section of a report." 
            It is also a container of one or more sections.
            </para>
            <para>
            The child sections of a LayeredSections object are all
            painted on top of one another (creating layers). 
            The first section added to a LayeredSections object is
            the bottom layer.  Subsequent ReportSection objects added 
            to the LayeredSections object will be shown on top of each other.
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.LayeredSections.#ctor(System.Boolean,System.Boolean)">
            <summary>
            Constructor
            </summary>
            <param name="useFullWidth">Indicates this section will use the
            full width it is given</param>
            <param name="useFullHeight">Indicates this section will use the
            full height it is given</param>
        </member>
        <member name="M:ReportPrinting.LayeredSections.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            Setup for printing (do nothing)
            </summary>
            <param name="g">Graphics object</param>
        </member>
        <member name="M:ReportPrinting.LayeredSections.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called exactly once
            prior to each call to Print.  It must update the values Size and
            Continued of the ReportSection base class.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
            <returns>Size.Width and Size.Height are for the largest sub-section
            in each direction, fits is true if any section fits, and continued
            is true if any section is continued.</returns>
        </member>
        <member name="M:ReportPrinting.LayeredSections.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="T:ReportPrinting.ReportDocument">
            <summary>
            ReportDocument extends from <see cref="T:System.Drawing.Printing.PrintDocument"/>
            and is customized for printing reports from one or more tables of data. 
            </summary>
            <remarks>
            <para>
            A ReportDocument is used just like <see cref="T:System.Drawing.Printing.PrintDocument"/>
            when used with other printing framework classes, such as <see cref="T:System.Windows.Forms.PrintDialog"/>
            or <see cref="T:System.Windows.Forms.PrintPreviewDialog"/>
            </para>
            <para>
            A ReportDocument object is the top level container for all the 
            sections that make up the report.  (This consists of a header, body, and footer.)
            </para>
            <para>
            The ReportDocument's main job is printing, which occurs when the
            Print() method is called of the base class.   The Print() method 
            iterates through all the ReportSections making up the document, \
            printing each one.
            </para>
            <para>
            The strategy design pattern is employed for formatting the report.
            An object implementing <see cref="T:ReportPrinting.IReportMaker"/>
            may be associated with the ReportDocument. This IReportMaker 
            object is application specific and knows how to create a report
            based on application state and user settings. This object would be
            responsible for creating sections, associating DataViews, 
            and applying any required styles through use of the 
            <see cref="T:ReportPrinting.TextStyle"/> class.  It will generally
            use the <see cref="T:ReportPrinting.ReportBuilder"/> class to
            assist with the complexity of building a report.
            </para>
            </remarks>
        </member>
        <member name="F:ReportPrinting.ReportDocument.components">
            <summary> 
            Required designer variable.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportDocument.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportDocument.Dispose(System.Boolean)">
            <summary> 
            Clean up any resources being used.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportDocument.InitializeComponent">
            <summary> 
            Required method for Designer support - do not modify 
            the contents of this method with the code editor.
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportDocument.GetCurrentPage">
            <summary>
            Returns the current page number
            </summary>
            <returns>Integer for the current page number</returns>
        </member>
        <member name="M:ReportPrinting.ReportDocument.SetPageOrientation(System.Int32,ReportPrinting.PageOrientation)">
            <summary>
            Sets the orientation to either landscape or portrait from the
            specified page onwards (or until the next page with a SetPageOrientation is set).
            </summary>
            <param name="page">Number of the page to set the orientation</param>
            <param name="orient">Orientation for the page</param>
        </member>
        <member name="M:ReportPrinting.ReportDocument.ClearPageOrientation(System.Int32)">
            <summary>
            Removes a specified orientation for a page (and pages onward) and resets
            to either the default orientation, or the last specified orientation.
            </summary>
            <param name="page">Number of the page to clear the orientation</param>
        </member>
        <member name="M:ReportPrinting.ReportDocument.ResetPens">
            <summary>
            Resets pens back to default values
            Black, and .08", .03" and .01" for thick, normal, and thin
            (assuming inches as the scale - these are scaled if units are changed)
            </summary>
        </member>
        <member name="M:ReportPrinting.ReportDocument.OnBeginPrint(System.Drawing.Printing.PrintEventArgs)">
            <summary>
            Reset the row and page count before printing
            </summary>
            <param name="e">PrintEventArgs</param>
        </member>
        <member name="M:ReportPrinting.ReportDocument.GetScale">
            <summary>
            This is used to scale page margins (and other quantities)
            from inches to the GraphicsUnit specified.
            </summary>
            <returns>A floating point number which can be multiplied by
            a unit in inches to get a unit in the current DocumentUnit.
            </returns>
        </member>
        <member name="M:ReportPrinting.ReportDocument.PrintAPage(System.Drawing.Printing.PrintPageEventArgs,System.Boolean)">
            <summary>
            The actual method to print a page
            </summary>
            <param name="e">PrintPageEventArgs</param>
            <param name="sizeOnly">Indicates that only sizing is done</param>
            <returns>True if there are more pages</returns>
        </member>
        <member name="M:ReportPrinting.ReportDocument.OnPrintPage(System.Drawing.Printing.PrintPageEventArgs)">
            <summary>
            Overrided OnPrintPage from PrintDocument. 
            This method, on first call, may count the pages.
            Then it will simple call PrintAPage on every
            call.
            </summary>
            <param name="e">PrintPageEventArgs</param>
        </member>
        <member name="M:ReportPrinting.ReportDocument.OnEndPrint(System.Drawing.Printing.PrintEventArgs)">
            <summary>
            Called at the end of printing.  If ResetAfterPrint is set (default is true)
            then all text sections will be released after printing.
            </summary>
            <param name="e">PrintEventArgs</param>
        </member>
        <member name="P:ReportPrinting.ReportDocument.ReportMaker">
            <summary>
            An object that will setup this report before printing.
            (Strategy pattern).
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.PageHeaderMaxHeight">
            <summary>
            Used to define the size of the page header
            The header will stop at or before this distance from the top margin of the page
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.PageFooterMaxHeight">
            <summary>
            Used to define the size of the page footer
            The footer will start at this distance from the bottom margin of the page
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.TotalPages">
            <summary>
            NOT IMPLEMENTED - Always returns 0.
            Gets the total number of pages in the document.
            </summary>
            <returns>Total number of pages</returns>
        </member>
        <member name="P:ReportPrinting.ReportDocument.ResetAfterPrint">
            <summary>
            Gets or sets the flag
            indicating all sections are cleared after printing.
            This allows the next print of a different document to assume
            a clear document, and releas memory.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.PageHeader">
            <summary>
            The ReportSection responsible for printing the page header.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.PageFooter">
            <summary>
            The ReportSection reponsible for printing the page footer.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.Body">
            <summary>
            The ReportSection responsible for printing the page body.
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.NormalPen">
            <summary>
            Gets the pen for normal styled lines
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.ThinPen">
            <summary>
            Gets the pen for thin lines
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.ThickPen">
            <summary>
            Gets the pen for thick lines
            </summary>
        </member>
        <member name="P:ReportPrinting.ReportDocument.DocumentUnit">
            <summary>
            Gets or sets the units used for the entire document.  All
            margins, widths and heights should be expressed in this unit.
            </summary>
            <remarks>
            <para>
            Most development work has been done in inches. 
            Millimeter and DocumentUnit have also been tested.
            Some notes on specifiying units other than inches:
            The GraphicsUnit is one of the first things that
            should be setup - even before a ReportBuilder is created.
            </para>
            <para>
            Default pen widths in ReportDocument will be
            changed by setting this property.
            </para>
            <para>
            These are the supported document units, and the expected
            size of that unit in inches.
            </para>
            <code>
            GraphicsUnit.Inch:       scale = 1f;
            GraphicsUnit.Millimeter: scale = 25.4f;
            GraphicsUnit.Display:    scale = 75f;
            GraphicsUnit.Document:   scale = 300f;
            GraphicsUnit.Point:      scale = 72f;
            </code>
            <para>
            Other units are not supported and will cause an exception.
            </para>
            </remarks>
        </member>
        <member name="T:ReportPrinting.PageOrientation">
            <summary>
            Defines the orientation for a given page
            </summary>
        </member>
        <member name="F:ReportPrinting.PageOrientation.Portrait">
            <summary>
            The page should be printed in Portrait layout (vertically)
            </summary>
        </member>
        <member name="F:ReportPrinting.PageOrientation.Landscape">
            <summary>
            The page should be printed in Landscape layout (horizontally)
            </summary>
        </member>
        <member name="T:ReportPrinting.LinearRepeatableSections">
            <summary>
            Similar to LinearSections but used for situations where
            a "child" section should be repeated on a page.  This is
            useful for columns, document structure, etc.
            </summary>
            <remarks>
            <para>
            Ths section is very similar to LinearSections.  Two things
            are noticeably different.</para>
            <para>
            1. A sub-section may be repeated within a page.  This is
            ideal for making columns on a page (where this section
            is setup horizontal, and the only sub-section is a 
            Vertical LinearSection).  It also works for making a document
            structure where this section is setup vertical, and the
            child section is a linear section going horizontal, to make
            lines of text across a page.  A normal linear section will
            go to the next page between calls to a subsection needing to
            be repeated.
            </para>
            <para>
            2. This section does not have the ability to size itself
            ahead of time.  Therefore, it should generally be used by itself
            in another section (or as part of a layered section). However,
            if MaxWidth/Height is set along with UseFullWidth/Height, then
            the size can be more accurately predicted.
            </para>
            </remarks>
        </member>
        <member name="T:ReportPrinting.LinearSections">
            <summary>
            A simple section of one long row or column.
            It can optionally be made into many rows / columns by setting:
            RepeatOnPage true.
            </summary>
            <remarks>
            <para>
            The LinearSections class is a subclass of SectionContainer,
            which is a subclass of ReportSection. Therefore, the LinearSections 
            can be thought of as "a printable section of a report." 
            However, it is also a container of one or more sections.
            </para>
            <para>
            As its name implies, it lays sections out linearly -- that is, 
            in a row or in a column. A property named Direction specifies 
            if this container will layout sections going down the page 
            (typical) or across the page (not as typical).
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.LinearSections.#ctor">
            <summary>
            Constructor for a vertically laid-out section
            </summary>
        </member>
        <member name="M:ReportPrinting.LinearSections.#ctor(ReportPrinting.Direction)">
            <summary>
            Constructor specifying a direction
            </summary>
            <param name="direction">Direction for the section.</param>
        </member>
        <member name="M:ReportPrinting.LinearSections.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            Setup for printing (do nothing)
            </summary>
            <param name="g">Graphics object</param>
        </member>
        <member name="M:ReportPrinting.LinearSections.AdvancePointers(System.Drawing.SizeF,ReportPrinting.Bounds@,System.Drawing.SizeF@)">
            <summary>
            Advances the pointers in bounds and requiredSize by an
            amount of size plus SkipAmount
            </summary>
            <param name="size">The size to increment bounds and requiredSize by</param>
            <param name="bounds">The bounds for printing of remaing sections.
            It is a struct passed by reference.</param>  
            <param name="requiredSize">The size required for the section or line
            It is a struct passed by reference.</param>
        </member>
        <member name="M:ReportPrinting.LinearSections.SizePrintLine(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds,System.Boolean,System.Boolean)">
            <summary>
            Sizes all the sections that fit within a single row/column
            </summary>
            <param name="reportDocument">Parent ReportDocument</param>
            <param name="g">Graphics object for sizing / printing</param>
            <param name="bounds">The bounds the line must fit within</param>
            <param name="sizeOnly">Indicates that no printing should be done,
            just size the line</param>
            <param name="advanceSectionIndex">Advance the section index, 
            so that it's ready for the next line</param>
            <returns>Size and flags for if it fits and if it's continued</returns>
        </member>
        <member name="M:ReportPrinting.LinearSections.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called exactly once
            prior to each call to Print.  It must update the values Size and
            Continued of the ReportSection base class.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.LinearSections.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="P:ReportPrinting.LinearSections.Direction">
            <summary>
            Gets or sets the direction that sub-sections are laid out
            within this section.
            The default is vertical (meaning top to bottom).
            </summary>
        </member>
        <member name="P:ReportPrinting.LinearSections.SkipAmount">
            <summary>
            Gets or sets the amount of space to skip between
            sections
            </summary>
        </member>
        <member name="M:ReportPrinting.LinearRepeatableSections.#ctor">
            <summary>
            Constructor to make a vertical layout
            </summary>
        </member>
        <member name="M:ReportPrinting.LinearRepeatableSections.#ctor(ReportPrinting.Direction)">
            <summary>
            Constructor that sets the direction as specified
            </summary>
            <param name="direction">Direction this linear
            layout order the child sections.</param>
        </member>
        <member name="M:ReportPrinting.LinearRepeatableSections.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.
            Simply returns the full size (up to MaxWidth and MaxHeight
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
            <returns>size is the full size of the bounds given,
            fits is always true, and continued is always false from this
            routine.  Note that DoPrint may change the values of all these.
            </returns>
        </member>
        <member name="M:ReportPrinting.LinearRepeatableSections.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="P:ReportPrinting.LinearRepeatableSections.Divider">
            <summary>
            Gets or sets the ReportSection to use as a divider.
            </summary>
        </member>
        <member name="P:ReportPrinting.LinearRepeatableSections.ShowDividerFirst">
            <summary>
            Gets or sets the flag that the divder is shown as the
            first element on a page.  The default (false) is that
            the divider is only used to divide elements 
            </summary>
        </member>
        <member name="T:ReportPrinting.IReportMaker">
            <summary>
            An interface to be used in the Strategy design pattern.
            ReportDocument will call the single method MakeDocument()
            when it wants to be formatted and made into a complete document.
            </summary>
        </member>
        <member name="M:ReportPrinting.IReportMaker.MakeDocument(ReportPrinting.ReportDocument)">
            <summary>
            This function is called prior to printing.
            The implementer of this function is passed a handle
            to a ReportDocument object that needs to be setup.
            </summary>
            <param name="reportDocument">Handle to the ReportDocument object</param>
            <remarks>
            It is desirable to call reportDocument.ClearSections() before
            adding new sections to the reportDocument.
            </remarks>
        </member>
        <member name="T:ReportPrinting.BorderPens">
            <summary>
            BorderPens stores four pens, one to draw each side of a box
            or border.  It has functions that will draw that
            border, given a rectangle for the outer bounds of the border.
            </summary>
        </member>
        <member name="F:ReportPrinting.BorderPens.Top">
            <summary>
            Pen for the top border
            </summary>
        </member>
        <member name="F:ReportPrinting.BorderPens.Right">
            <summary>
            Pen for the right border
            </summary>
        </member>
        <member name="F:ReportPrinting.BorderPens.Bottom">
            <summary>
            Pen for the bottom border
            </summary>
        </member>
        <member name="F:ReportPrinting.BorderPens.Left">
            <summary>
            Pen for the left border
            </summary>
        </member>
        <member name="M:ReportPrinting.BorderPens.AddBorderSize(System.Drawing.SizeF)">
            <summary>
            Returns a SizeF that is big enough for content plus border
            </summary>
            <param name="size">Size for the content</param>
            <returns>SizeF that is bigger than size by all borders</returns>
        </member>
        <member name="M:ReportPrinting.BorderPens.GetInnerBounds(ReportPrinting.Bounds)">
            <summary>
            Gets an inner bounds based on the widths of each pen
            </summary>
            <param name="bounds">Bounds inside the border</param>
            <returns>Bounds that takes the border into accound</returns>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawTop(System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Draws just the top side of the box
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="rect">Outer rectangle of the border</param>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawRight(System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Draws just the right side of the box
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="rect">Outer rectangle of the border</param>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawBottom(System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Draws just the bottom side of the box
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="rect">Outer rectangle of the border</param>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawLeft(System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Draws just the left side of the box
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="rect">Outer rectangle of the border</param>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawBorder(System.Drawing.Graphics,System.Drawing.RectangleF)">
            <summary>
            Draws a border inside the given rectangle
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="rect">Outer rectangle of the border</param>
        </member>
        <member name="M:ReportPrinting.BorderPens.DrawBorder(System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Draws a border inside the given bounds
            </summary>
            <param name="g">Graphics object to print on</param>
            <param name="bounds">Outer bounds of the border</param>
        </member>
        <member name="P:ReportPrinting.BorderPens.TopWidth">
            <summary>
            Gets the width of the top side
            </summary>
        </member>
        <member name="P:ReportPrinting.BorderPens.RightWidth">
            <summary>
            Gets the width of the right side
            </summary>
        </member>
        <member name="P:ReportPrinting.BorderPens.BottomWidth">
            <summary>
            Gets the width of the bottom side
            </summary>
        </member>
        <member name="P:ReportPrinting.BorderPens.LeftWidth">
            <summary>
            Gets the width of the left side
            </summary>
        </member>
        <member name="T:ReportPrinting.BorderPens.RectSide">
            <summary>
            The sides of a rectangle
            </summary>
        </member>
        <member name="T:ReportPrinting.TextStyle">
            <summary>
            Allows styles and fonts to be added to text.
            </summary>
            <remarks>
            <para>
            This class that allows styles and fonts to be added to text,
            and also to allow default styles to be used if not explicitly set.
            </para>
            <para>
            All styles (except for the static TextStyle.Normal)
            have another style that is their "default" style.  Until a
            property is set (like bold, underline, size, font family, etc),
            a TextStyle object always uses the value of the property from
            its default style, or parent.
            </para>
            <para>
            Normal is defined as:
            <code>
                FontFamily = FontFamily.GenericSansSerif
                Size = 10.0f
                Brush = Brushes.Black
                BackgroundBrush = null
                StringAlignment = StringAlignment.Near
                0 margins on top, near, far.  0.15 margin on bottom.
            </code>
            </para>
            <para>
            A new style defined as:
            <code>
                TextStyle paragraphStyle = new TextStyle(Normal);
                paragraphStyle.Bold = true;
            </code>
            will have all the same properties as TextStyle.Normal, except
            it will be bold.
            </para>
            <para>
            A later change to Normal such as:
            <code>
                TextStyle.Normal.Size += 1.0f
            </code>
            will have the effect of increasing the size of both styles
            (Normal and paragraphStyle).
            </para>
            </remarks>
        </member>
        <member name="M:ReportPrinting.TextStyle.#cctor">
            <summary>
            Static constructor
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.Normal">
            <summary>
            The Normal TextStyle which serves as the default TextStyle
            for most text fields.  It also serves as the default 
            style behind all other styles (ultimately, there may be a 
            chain, but Normal is at the top of all chains).
            Changing a property of Normal will affect all other
            styles that haven't explictly overriden that property.
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.Heading1">
            <summary>
            A TextStyle intended for use by Titles or Section Headings
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.Heading2">
            <summary>
            A TextStyle intended for use in Section Headings
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.Heading3">
            <summary>
            A TextStyle intended for use in Section Headings
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.PageHeader">
            <summary>
            The TextStyle used by the PageHeader.  
            It defaults to Normal, but centered.
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.PageFooter">
            <summary>
            The TextStyle used by the PageFooter.  
            It defaults to Normal, but centered.
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.TableHeader">
            <summary>
            The TextStyle used by the header row of a table.
            It defaults to Normal + Bold + MarginBottom=0
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.TableRow">
            <summary>
            The TextStyle used by the rows of data of a table.
            It defaults to Normal + MarginBottom=0
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.BoldStyle">
            <summary>
            Normal text but bold
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.UnderlineStyle">
            <summary>
            Normal text but underlined
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.ItalicStyle">
            <summary>
            Normal text but italicized
            </summary>
        </member>
        <member name="M:ReportPrinting.TextStyle.ResetStyles">
            <summary>
            Resets all predefined styles to default values
            </summary>
        </member>
        <member name="M:ReportPrinting.TextStyle.#ctor(ReportPrinting.TextStyle)">
            <summary>
            Public constructor that is used to create a new TextStyle.
            A new TextStyle is always based on a pre-existing style.
            TextStyle.Normal is the top-most style that everything is
            based from.
            </summary>
            <param name="defaultStyle">A default <see cref="T:ReportPrinting.TextStyle"/>
            for the new style to be based on.</param>
        </member>
        <member name="M:ReportPrinting.TextStyle.ResetToDefault">
            <summary>
            Resets this style back to exactly the same as its
            default style.  It has no affect on Normal
            </summary>
        </member>
        <member name="M:ReportPrinting.TextStyle.SetFromFont(System.Drawing.Font)">
            <summary>
            Sets this textstyle's properties to match those of a given font
            </summary>
            <param name="font">Font to set properties from</param>
        </member>
        <member name="M:ReportPrinting.TextStyle.GetFont">
            <summary>
            Returns a new Font object representing the state of
            this TextStyle for Bold, Italic, Underline, FontFamily and Size
            </summary>
            <returns>a new <see cref="T:System.Drawing.Font"/> object</returns>
        </member>
        <member name="F:ReportPrinting.TextStyle.defaultStringFormat">
            <summary>
            Not really supported, but you can change the defaultStringFormat...
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.defaultFormatFlags">
            <summary>
            Not really supported, but you can change the formatFlags for this textstyle
            </summary>
        </member>
        <member name="F:ReportPrinting.TextStyle.defaultStringTrimming">
            <summary>
            Not really supported, but you can change the string trimming for this textstyle
            </summary>
        </member>
        <member name="M:ReportPrinting.TextStyle.GetStringFormat">
            <summary>
            Returns a valid StringFormat object given the StringAlignment of
            this object.
            </summary>
            <returns>A new <see cref="T:System.Drawing.StringFormat"/> object</returns>
        </member>
        <member name="P:ReportPrinting.TextStyle.Bold">
            <summary>
            Gets or sets the flag for text is bold
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.Italic">
            <summary>
            Gets or sets the flag for text is in italics
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.Underline">
            <summary>
            Gets or sets the flag for text is underlined
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.Size">
            <summary>
            Gets or sets the the font size (in em's) of this style.
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.SizeDelta">
            <summary>
            Gets or sets the font size (in points) based on a delta
            from the default font size.  A positive size makes it
            larger, negative makes it smaller.
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.FontFamily">
            <summary>
            Gets or sets the <see cref="T:System.Drawing.FontFamily"/> 
            for the text.
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.Brush">
            <summary>
            Gets or sets the <see cref="T:System.Drawing.Brush"/> 
            for text.
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.BackgroundBrush">
            <summary>
            Gets or sets the <see cref="T:System.Drawing.Brush"/> 
            for the background.
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.MarginNear">
            <summary>
            Gets or sets the margin on the near (left) side of this text field
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.MarginFar">
            <summary>
            Gets or sets the margin on the far (right) side of this text field
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.MarginTop">
            <summary>
            Gets or sets the margin on the top of this text field
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.MarginBottom">
            <summary>
            Gets or sets the margin on the bottom side of this text field
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.Margins">
            <summary>
            Sets all margins (top, right, bottom, left)
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.StringAlignment">
            <summary>
            Gets or sets the StringAlignment for this style
            </summary>
        </member>
        <member name="P:ReportPrinting.TextStyle.VerticalAlignment">
            <summary>
            Gets or sets the veritical alignment of the text
            </summary>
        </member>
        <member name="T:ReportPrinting.Direction">
            <summary>
            Direction the sections are laid out
            </summary>
        </member>
        <member name="F:ReportPrinting.Direction.Vertical">
            <summary>
            Each section is positioned below the previous
            </summary>
        </member>
        <member name="F:ReportPrinting.Direction.Horizontal">
            <summary>
            Each section is positioned beside the previous
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionTable">
            <summary>
            A ReportSection that represents the printing of a table 
            from a DataView.
            </summary>
            <remarks>
            <para>
            SectionTable contains a DataView and
            zero or more IDataColumns that that correspond 
            to the columns of data to be printed from the DataView.
            </para>
            <para>
            A header row can be printed at the top of the table
            (and every new page) based on the HeaderText for
            each IDataColumn object (see the RepeatHeaderRow and
            SuppressHeaderRow properties). A summary row can be 
            printed at the bottom of the table (see ShowSummaryRow 
            property of this class and the SummaryRowText property and
            FormatSummaryRow event of ReportDataColumn).
            </para>
            <para>
            The width of the table is defined as the sum of the widths of all columns
            (plus the width of any borders). There are several ways to set the width
            of the table on the printed page.
            </para>
            <list type="bullet">
            <item><description>
            Set the property Width or MaxWidth for each ReportDataColumn (if
            no auto-sizing is used, these are identical).
            </description></item>
            <item><description>
            Set the property MaxWidth for each ReportDataColumn and also set 
            one or both of the properties SizeWidthToHeader and SizeWidthToContents to true
            for the columns. Then, the each column will be sized to the appropriate width
            base on the contents.
            </description></item>
            <item><description>
            Finally, the width of the entire table can be rescaled to a certain percentage
            of the page (using the PercentWidth property of SectionTable). To do this,
            first use one of the above methods for setting the widths of each column. Then
            set PercentWidth (e.g 100 for 100% of the usable page width) and each column
            will be scaled to make the total table fit that width.
            </description></item>
            </list>
            <para>
            Notes: UseFullWidth and UseFullHeight doen't affect the actual table 
            being printed (but do affect the placement of other sections).
            </para>
            <para>
            Margins and HorizontalAlignment are specified the same
            as for any other ReportSection. <b>VerticalAlignment is
            not implemented.</b>
            </para>
            <para>
            Setting borders also deserves a note. There are 6 borders that can be
            set for the entire SectionTable: the four lines around the outside 
            Top, Left, Right, and Bottom, 
            the line under the header row, and the line between every other row. 
            Each column also has a border that can be set for its right-side (the vertical
            lines between columns).
            Each of these are specified with a .Net pen, which has a width and a color.
            </para>
            </remarks>
        </member>
        <member name="F:ReportPrinting.SectionTable.HeaderRowNumber">
            <summary>
            The row number used to indicate the HeaderRow
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionTable.#ctor(System.Data.DataView)">
            <summary>
            Constructor
            </summary>
            <param name="dataSource">A DataView to use as the source of data</param>
        </member>
        <member name="F:ReportPrinting.SectionTable.rowIndex">
            <summary>
            The current/next row to be printed.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.dataRowsFit">
            <summary>
            The number of data rows that will fit on the next call to print.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.tableHeightForPage">
            <summary>
            The height of the table on this page
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.rowHeights">
            <summary>
            Heights of each row that will be printed next...
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.headerSizeInit">
            <summary>
            Size of header
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionTable.GetPageInfo">
            <summary>
            Gets current page info
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.columns">
            <summary>
            The collection of columns used to format this SectionTable
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionTable.AddColumn(ReportPrinting.IDataColumn)">
            <summary>
            Add a column object to the list of columns
            Each column object should be a new instance of IDataColumn
            You can pass a single instance into AddColumn more than once, but
            you will just get the same column printed out multiple times.
            </summary>
            <param name="rc">The IDataColumn to add</param>
            <returns>The number of columns</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.RemoveColumn(System.Int32)">
            <summary>
            Removes a column from the section
            </summary>
            <param name="index">Index of the column to remove</param>
        </member>
        <member name="M:ReportPrinting.SectionTable.GetColumn(System.Int32)">
            <summary>
            Gets the column at the specified index
            </summary>
            <param name="index">Index of a column</param>
            <returns>A IDataColumn object</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.ClearColumns">
            <summary>
            Clears all the columns from this section.
            Printing a section with 0 columns is just fine,
            a little weird, but technically fine.
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionTable.DoBeginPrint(System.Drawing.Graphics)">
            <summary>
            Setup for printing
            </summary>
            <param name="g">Graphics object</param>
        </member>
        <member name="M:ReportPrinting.SectionTable.DoCalcSize(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to calculate the size that this section requires on
            the next call to Print.  This method will be called exactly once
            prior to each call to Print.  It must update the values Size and
            Continued of the ReportSection base class.
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
            <returns>SectionSizeValues of requiredSize, fits, and continues.</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.DoPrint(ReportPrinting.ReportDocument,System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Called to actually print this section.  
            The DoCalcSize method will be called exactly once prior to each
            call of DoPrint.
            It should obey the value or Size and Continued as set by
            DoCalcSize().
            </summary>
            <param name="reportDocument">The parent ReportDocument that is printing.</param>
            <param name="g">Graphics object to print on.</param>
            <param name="bounds">Bounds of the area to print within.</param>
        </member>
        <member name="M:ReportPrinting.SectionTable.CalcHeaderSize(System.Drawing.Graphics,ReportPrinting.Bounds)">
            <summary>
            Calculates the size of the header and put it in headerSize
            Each column has already run its sizing algorithm during
            the DoBeginPrint method of this class. Now, add
            up all widths to figure out the total width (and possibly
            Resize the columns to fit in the designated PercentWidth
            of the page).
            </summary>
        </member>
        <member name="M:ReportPrinting.SectionTable.ResizeColumns(System.Single)">
            <summary>
            Resizes columns based on the given width
            </summary>
            <param name="width">The width the table is allowed to use.</param>
        </member>
        <member name="M:ReportPrinting.SectionTable.SetupPageInfo(System.Single,System.Boolean,System.Boolean)">
            <summary>
            Sets up the array infoForPages that holds the number of columns
            on each page...
            </summary>
            <param name="width">The width the table is allowed to use.</param>
            <param name="allowMultiPageWidth">Allow columns to span multiple pages</param>
            <param name="limitFirstPage">Limit the columns on the first page to just those that fit</param>
        </member>
        <member name="M:ReportPrinting.SectionTable.GetTableBounds(ReportPrinting.Bounds)">
            <summary>
            Gets the bounds used for the actual table, that is
            position is the top left corner of the table (after
            applying margins and alignments).  The width is based on
            this.headerSize and the border size.  The height is the full 
            height of the bounds.
            </summary>
            <param name="bounds">Maximum bounds allowed for the table</param>
            <returns>The bounds that the table is printed into.</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.GetTableBounds(ReportPrinting.Bounds,System.Drawing.SizeF)">
            <summary>
            Gets the bounds used for the actual table, that is
            position is the top left corner of the table (after
            applying margins and alignments).
            The width is based on
            this.headerSize and the border size.  The height is the full 
            height of the bounds.
            </summary>
            <param name="bounds">Maximum bounds allowed for the table</param>
            <param name="size">Size required for the table</param>
            <returns>The bounds that the table is printed into.</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.SizePrintHeader(System.Drawing.Graphics,ReportPrinting.Bounds@,System.Boolean)">
            <summary>
            Sizes or prints the header, if it is enabled
            </summary>
            <param name="g"></param>
            <param name="bounds"></param>
            <param name="sizeOnly"></param>
            <returns>True if it fits, false if it doesn't</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.FindDataRowsFit(System.Drawing.Graphics,ReportPrinting.Bounds@)">
            <summary>
            Sizes rows and figures out how many will fit in the given bounds.
            </summary>
            <param name="g">Graphics object used for measuring</param>
            <param name="bounds">Maximum bounds allowed for table</param>
            <returns>The number of data rows that will fit</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.PrintRows(System.Drawing.Graphics,ReportPrinting.Bounds@)">
            <summary>
            Prints rows of a table based on current rowIndex and dataRowsFit variables
            Also, bounds is incremented as each row is printed.
            </summary>
            <param name="g">Graphics object used for printing</param>
            <param name="bounds">Bounds allowed for table</param>
            <returns>True if at least one row fits</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.SizePrintRow(System.Drawing.Graphics,System.Int32,System.Single,System.Single,System.Single,System.Single,System.Boolean,System.Boolean)">
            <summary>
            This is the main "worker" function for dealing with rows.
            Finds the size of a row, given the row number and the
            maximum height/width for the row.
            Prints the row if sizeOnly is not true.
            </summary>
            <param name="g">Graphics object to use for sizing</param>
            <param name="rowIndex">Index of the row within the DataView.
            Use the constant HeaderRowNumber to size the header row.</param>
            <param name="x">X position for the origin of the row.</param>
            <param name="y">Y position for the origin of the row.</param>
            <param name="maxWidth">The maximum width the row may consume.</param>
            <param name="maxHeight">The maximum height the row may consume.</param>
            <param name="sizeOnly">Only size, don't actually print</param>
            <param name="showLine">True to print a line under the row</param>
            <returns>A height for the row.</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.GetValidHeight(System.Single,System.Boolean)">
            <summary>
            Checks that a height of a row is in the valid range.
            </summary>
            <param name="height">The desired height to use</param>
            <param name="isHeader">True if this is for a header row</param>
            <returns>height in the range min to max</returns>
        </member>
        <member name="M:ReportPrinting.SectionTable.RowLine(System.Drawing.Graphics,System.Single,System.Single,System.Single,System.Boolean,System.Boolean)">
            <summary>
            Prints or sizes a grid line that goes under a row
            </summary>
            <param name="g">Graphics object to draw on</param>
            <param name="x">X position of the line</param>
            <param name="y">Y position of the line</param>
            <param name="length">Length of the line</param>
            <param name="isHeader">The row is a header row</param>
            <param name="sizeOnly">SizeOnly - don't print if true</param>
            <returns>The width (height) of the line</returns>
        </member>
        <member name="P:ReportPrinting.SectionTable.ShowHeaderRow">
            <summary>
            OBSOLETE - RENAMED RepeatHeaderRow, see also SuppressHeaderRow
            A header row should be printed at the top of
            the table on every page.
            If false, the headerow is only printed on the first page.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.RepeatHeaderRow">
            <summary>
            Gets or sets the flag to repeat the header row at the 
            toop of the table of every page.
            If false, then just the first page has a header.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.SuppressHeaderRow">
            <summary>
            Gets or sets the flag to suppress headers.
            If true, no header row is printed, and RepeatHeaderRow is ignored.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.ShowSummaryRow">
            <summary>
            Gets or sets a flag to show a summary row at the end of a table.
            If set to true, be sure to catch the FormatSummaryRow event of
            every DataColumn in order to format the summary row.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.DataSource">
            <summary>
            The DataView which represents the data to be shown
            in this section.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.TotalRows">
            <summary>
            Gets the number of detail rows (rows in the DataView object)
            plus the summary row, if enabled.
            Equals 0 if there is no DataSource
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.MaxDetailRowHeight">
            <summary>
            Used to determine the maximum size of a detail row
            any larger and it will be clipped at this size, possibly losing information
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.MinDetailRowHeight">
            <summary>
            Used to determine the minimum size of a detail row
            Even if the row is smaller, it will add empty space before
            the next row is printed
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.MaxHeaderRowHeight">
            <summary>
            Used to determine the maximum size of a header row
            any larger and it will be clipped at this size, possibly losing information
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.MinHeaderRowHeight">
            <summary>
            Used to determine the minimum size of a header row
            Even if the row is smaller, it will add empty space before
            the next row is printed
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.OuterPenTop">
            <summary>
            Gets or sets the pen used to draw the line at the top of the table
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.OuterPenRight">
            <summary>
            Gets or sets the pen used to draw the line on the right side of the table
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.OuterPenBottom">
            <summary>
            Gets or sets the pen used to draw the line at the bottom of the table
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.OuterPenLeft">
            <summary>
            Gets or sets the pen used to draw the line on the left side of the table
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.OuterPens">
            <summary>
            Sets the pens used on all outer sides (top, right, bottom, left)
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.InnerPenHeaderBottom">
            <summary>
            Gets or sets the pen used to draw the line under the header row
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.InnerPenRow">
            <summary>
            Gets or sets the pen used to draw the line under all other rows
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.PercentWidth">
            <summary>
            Gets or set the width of the table as a percentage of the 
            width of the parent section / container.
            Valid values are between 0 and 100, inclusive. 
            Default is 0, which means ignore this field.
            </summary>
            <remarks>
            <para>
            If this value is 0, then the width of the table is generally
            the sum of widths of all columns.
            If this value is greater than 0, than the columns are all 
            re-sized so that the entire table fits the desired width.
            </para>
            <para>
            For example, consider a table with three columns of width 1 inch,
            2 inches, and 1 inch to be printed in a "space" 6 inches wide.
            Setting PercentWidth to 0 will result in a table 4 inches (1 + 2 + 1) wide.
            Setting PercentWidth to 100 will result in a table 6 inches wide,
            with column widths 1.5, 3, and 1.5 inches.
            </para>
            </remarks>
        </member>
        <member name="P:ReportPrinting.SectionTable.AllowMultiPageWidth">
            <summary>
            Allow the table to span multiple pages in width - that is, not all
            columns are squeezed onto one page.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.HeaderTextStyle">
            <summary>
            Gets the text style used for the header of this table.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.DetailRowTextStyle">
            <summary>
            Gets the text style used for the rows of this table.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.AlternatingRowTextStyle">
            <summary>
            Gets the text style used for the alternating rows of this table.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.ColumnCount">
            <summary>
            The number of columns in this section.
            </summary>
        </member>
        <member name="T:ReportPrinting.SectionTable.PageInfo">
            <summary>
            This class store data about the columns which will be printed on a page
            There will be one instance of this class for each page in width that the
            table consumes. That is, if columns spread across three pages wide, there
            will be three instances. All the pages used in "height" to display the
            rows of the table will share the same instances.
            It is used only within the class SectionTable.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.PageInfo.FirstColumn">
            <summary>
            The index of the first column to be displayed on the page, 0 based.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.PageInfo.NumberOfColumns">
            <summary>
            The number of columns to be displayed on the page.
            </summary>
        </member>
        <member name="F:ReportPrinting.SectionTable.PageInfo.Width">
            <summary>
            The horizontal dimension that this page requires, that is,
            the total width of all columns on the page.
            It should (I believe) include all borders to be displayed.
            </summary>
        </member>
        <member name="P:ReportPrinting.SectionTable.PageInfo.LastColumn">
            <summary>
            The index of the last column to be displayed on the page.
            Returns FirstColumn + NumberOfColumns - 1
            </summary>
        </member>
        <member name="T:ReportPrinting.PrintDataGrid">
            <summary>
            Prints a DataGrid View using the ReportBuilder Class Processing its data
            from the dataGrid DataSource, DataMember, DataTableGridSettings etc,
            Optionally using PrinterSetup, and/or PrintPreview Dialog's.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.#ctor">
            <summary>
            Default Constructor
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.#ctor(System.Windows.Forms.DataGrid)">
            <summary>
             Constructor with the DataGrid
            </summary>
            <param name="dataGrid"></param>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.#ctor(System.Windows.Forms.DataGrid,System.Boolean,System.Boolean,System.Boolean)">
            <summary>
            Constructor with the DataGrid, options to automatically run any or all of
            PrintSetup dialog, PrintPreview dialog and Printing.
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.SetDefaults">
            <summary>
            Set up all the Default Values
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.ResetTextStyles(System.Boolean)">
            <summary>
            This will reset the TextStyles and Optionally set up the Defaults
            </summary>
            <param name="SkipSettingDefaults"></param>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.PrinterSetup">
            <summary>
            Print setup for the DataGrid
            </summary>
            <returns></returns>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.PrintPreview">
            <summary>
            Creates a PrintPreviewDialog for the DataGrid
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.Print">
            <summary>
            Prints the DataGrid
            </summary>
        </member>
        <member name="M:ReportPrinting.PrintDataGrid.MakeDocument(ReportPrinting.ReportDocument)">
            <summary>
            This prints out the contents of a datagrid using  ReportBuilder
            </summary>
            <param name="reportDocument"></param>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.ReportDocument">
            <summary>
            Gets or Sets  the report Document settings
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.DataGrid">
            <summary>
            Gets the DataGrid
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.PrintPreviewDialog">
            <summary>
            Gets or Sets the PrintPreviewDialog
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.PrintDialog">
            <summary>
            Gets or Sets the PrintDialog
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.PrinterSettings">
            <summary>
            Gets or Sets the PrinterSettings Object
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.PageSettings">
            <summary>
            Gets or Sets the PageSettings Object
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.ReportBuilder">
            <summary>
            Gets or Sets the PageSettings Object
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.PrintSpecificationPage">
            <summary>
            If true the first page will print showing the specification for the DataGrid,
            Default is false
            </summary>
        </member>
        <member name="P:ReportPrinting.PrintDataGrid.MaxColumnSize">
            <summary>
            Set the maximum size in inches for any single column
            </summary>
        </member>
    </members>
</doc>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The BSD License


Written By
Software Developer (Senior) ndatech
Italy Italy
Nicola Dell'Amico is a freelance software developer.
Most significant skills are:
C, C++, C#, ASP.NET, wxWidgets, QT, Mono
-----
http://www.ndatech.it

Comments and Discussions