ArchitectureA supervised JVM-class runtime — OLTP on seven engines, OLAP on three. AI-native, MCP-native, observable as plain SQL.Read the architecture
Está viendo la edición Perú. Está viendo la edición Colombia. You're viewing the Pakistan edition. Cambiar a la edición global →Cambiar a la edición global →Switch to the global edition →

PDF reports honour display-order column rearrangement without re-querying

The PDF rendering pipeline now respects user-defined column display order. Column widths, header names and body rows reorder visually without re-querying the database ; physical column order remains the fallback when no reordering is set.

Analysts customise grid columns in the UI — drag a column to a new position, hide unused columns, resize header widths — to make the live data view fit their working pattern. Until now, exporting that grid to PDF reverted to the physical column order declared in the report definition ; the analyst's working layout was lost at the print boundary, and reproducing it required a definition edit followed by a re-query.

The PDF pipeline now reads the display-order metadata the UI persists per user and applies it during rendering. Column widths, header names and body rows reorder visually in the output without materialising a new ResultSet — the data is fetched once, the layout transformation happens in the render pass.

  • Per-user layout persistence. Each analyst's column order is captured against their user identity ; the same report exports differently for different users without a report-definition fork.
  • Hidden columns suppressed. Columns the user has hidden are omitted from the PDF entirely, not just blanked.
  • Physical order is the fallback. When no per-user reordering is set, the PDF renders against the report definition exactly as before — no behavioural change for existing reports.
  • No re-query. The data fetch is unchanged ; only the render transformation reads the layout metadata. Analysts iterate on layout without re-loading the dataset.

See the feature →

← All posts