Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

TXMLGridView

XML grid view of Text Editor Pro

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

TXMLGridView

A Delphi VCL control that shows an XML document as a nested, expandable grid.

TXMLGridView showing a sample document

Features

Viewing

  • Automatic column sizing with structural minimum widths, optional auto-height cells
  • Base64 image content (PNG, JPEG, GIF, BMP — also data: URIs) is detected and drawn as an inline thumbnail, capped by ImageMaxHeight
  • Fully themable through the Colors property (25 colors: fills, grid lines, selection, expand box, per-node-type icon colors). Defaults reproduce the classic XmlGridControl look; the DFM stores only overrides
  • Nested grid/tree layout: element groups expand in place, indented by structure
  • Per-monitor DPI aware; also renders correctly under custom scaling regimes such as AlphaSkins smCustomPPI
  • Repeating sibling elements collapse into tables with row numbers and typed column headers
  • Vector-drawn node icons (element, attribute, text, CDATA, comment, doctype) — crisp at any DPI
  • Word-wrapped comment cells, italics for text/comment/CDATA nodes

Editing

  • In-place value editing with F2 or double-click: attribute values, element text, #text/#CDATA table cells and comments; names and structure stay read-only
  • Enter commits, Esc cancels; pending edits commit automatically on focus loss, scrolling, resizing and expand/collapse operations
  • Edits are written directly into the retained MSXML DOM
  • ReadOnly property to keep the grid view-only, OnCellEdited event, Modified flag

Loading and saving

  • LoadFromFile / LoadFromStream — raises EXMLGridViewParseError (with Line and LinePos) on malformed XML
  • SaveToFile / SaveToStream — formatted (indented, UTF-8, preserving comments, CDATA sections and the DTD) or raw single-line output
  • Document property exposes the underlying IXMLDOMDocument2 for host application integration