6. TableSetting & ColumnSetting - Jackalopeys/JackalopePDF GitHub Wiki

TableSetting and ColumnSetting are core classes used to control table layout, style, font, and per-column behaviors for PDF rendering. These settings give you full customization over how your table looks and behaves.


🔹 Layout Settings

  • RowHeight – Height of each content row
  • HeaderHeight – Height of the header row
  • MaxRowsPerPage – Max rows allowed per page before auto page-break
  • BreakPageWhenFull – If true, triggers a new page when max rows are reached
  • ColumnWidths – Array defining width for each column
  • ColumnUnit – Sizing strategy (Auto / Fixed / Percentage)
  • TotalWidthForPercentageUnit – Used only if ColumnUnit is set to Percentage

🔹 Font & Text Settings

  • FontSize, FontStyle, FontColor – Font settings for normal cell content
  • HeaderFontSize, HeaderFontStyle, HeaderFontColor, HeaderAlignment – Overrides for the header (fallback to default if not set)
  • FooterFontSize, FooterFontStyle – Footer row font settings
  • Truncate, TruncateSuffix – Truncates overflowing text and adds suffix (e.g., "...")

🔹 Color & Styling

  • BackgroundColor – Background color for the table
  • ZebraColor – Alternate row color for zebra striping
  • EnableZebraStriping – Enables or disables zebra effect
  • BorderColor – Border color for cells
  • HeaderBackgroundColor – Header background color
  • SummaryPageBackgroundColor – Background color for page summary rows
  • GrandTotalBackgroundColor – Background color for the grand total row
  • SummaryPageFontColor, GrandTotalFontColor – Font color for summary rows

🔹 Alignment & Summary Rows

  • HeaderNames – Custom header labels per column
  • ColumnAlignment – Text alignment for each column (Left, Center, Right)
  • ColumnFormatType – Format type for data (e.g., Number, Currency, Date)
  • SummaryEachPage – Adds a subtotal row at the end of each page
  • IncludeGrandTotal – Adds a final grand total row at the end of the report
  • PageSummarySettings / GrandTotalSettings – Column-wise config for what to sum or display

🔹 Border & Visibility

  • ShowHeader – Shows or hides the header row
  • ShowVerticalLines – Enables vertical lines between columns
  • ShowOuterBorder – Draws a border around the full table
  • ShowRowLines – Shows horizontal lines between rows
  • ShowHeaderTopBorder, ShowHeaderBottomLine – Controls header border visibility
  • ShowFooterTopBorder, ShowFooterBottomBorder – Controls footer border visibility

🔹 ColumnSetting (Per-column Customization)

Use ColumnSetting to override default behavior for individual columns. These properties take precedence over TableSetting.

  • HeaderName, HeaderAlignment, HeaderBackgroundColor, HeaderFontColor
  • Width, FontStyle, BackgroundColor, FontColor
  • Alignment, FormatType
  • PageSummaryLabel, IncludePageSummary
  • GrandTotalLabel, IncludeGrandTotal

If a property is not defined here, it will fallback to the value from TableSetting.


You can pass these settings into SetTable() and SetColumn() before calling DrawTable() to render a fully customized and dynamic PDF table.