sgcGrid Feature Matrix
Everything sgcGrid does, grouped by task, with a link to the help topic of each feature. The same model drives the VCL, FireMonkey, WinForms, WPF and Avalonia grids.
Everything sgcGrid does, grouped by task, with a link to the help topic of each feature. The same model drives the VCL, FireMonkey, WinForms, WPF and Avalonia grids.
3 features
15 features
4 features
12 features
5 features
2 features
8 NuGet packages
Online help and PDF manuals
Registered marks the features that are in the Registered and Trial editions and not in the free Community edition. ~ marks a feature that Community has in part, with the difference below it.
Every row links to its help topic. The Community column shows what the free .NET Community edition includes; everything is in Registered and Trial.
Column filters, the filter row, the find panel, the column chooser, column reordering, best fit, layouts, multi-selection, bands, cell types, DataSet editing, paste, undo and the sgcEditors cell editors are in the VCL and FireMonkey grids for Delphi and C++ Builder and in the WinForms, WPF and Avalonia grids for .NET, with the same split between Community and Registered, described in Editions. In .NET, DataSet editing writes back to a DataTable, AddLookup adds the lookup columns, and SyncCursor is Delphi only.
| Feature | Details | Community | Help |
|---|---|---|---|
| Live updates from any thread | Data.AppendRow and Data.UpdateRow are thread safe. Update one field or many by key, and BeginUpdate and EndUpdate group a burst into one repaint, paced by MaxFPS. | Help | |
| Flash on change | Changed cells flash green when a value goes up and red when it goes down, then fade out. Tail mode keeps the newest rows of a log or a feed in view. | Help | |
| Virtual mode | Stores no rows: VirtualRowCount sets the count and OnGetValue returns each painted value, so a million rows cost as much as fifty. | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| Sorting | Sort by several columns with SortOrder and SortIndex; Ctrl and click adds a column. The sort is stable. | Help | |
| Filtering | FilterText keeps the rows that contain a text in any visible column, and OnFilterRow adds custom rules. | Help | |
| Selection and keyboard | Row or cell selection with SelectionMode, keyboard navigation, and Ctrl+C copies as tab separated text. The selection follows its key. | Help | |
| Column resizing | Users drag the header edge to resize a column, never below its MinWidth; OnColumnResized reports it. | Help | |
| Frozen columns | FrozenColumns keeps the first visible columns in place while the rest scroll; header, footer and group summaries follow. | Help | |
| Conditional formatting | Format rules colour a cell or the whole row when a value matches a condition, with translucent colours that tint the cell over its background. | Help | |
| Right to left (Arabic and Hebrew) | Columns flow from the right with frozen columns at the right edge; the scroll bar, tree and group indent, chevrons, header icons, footer and in place editor are mirrored. Numbers and dates stay left to right runs. SaveToXLSX (Registered) writes a right to left sheet, also through TsgcGridXLSXWriter.RightToLeft. | Help | |
| Column filter | A funnel in each header (ShowFilterButtons) opens a popup with the distinct values of the column and their counts, a search box and up to two typed conditions joined by And or Or. | Help | |
| Filter row | ShowFilterRow adds a row under the header that filters each column while the user types, with an operator per column in FilterRowOperator. | Help | |
| Find panel | Ctrl+F or ShowFindPanel highlights the text in every cell, F3 and Shift+F3 move between matches, and FindOnlyMatches hides the other rows. | Help | |
| Column chooser and header menu | A right click on a header sorts, groups, fits widths, filters and opens the column chooser, a popup with one check box per column. ShowColumnChooser opens it from code. | Help | |
| Column reordering | Users drag a header to move its column, within its side of the frozen columns and within its bands; OnColumnMoved reports the move. | Help | |
| Best fit | A double click on the header edge, or BestFitColumn and BestFitColumns, fits the width to the caption and up to 1,000 sampled rows. | Help | |
| Layout persistence | SaveLayoutToString, SaveLayoutToStream and SaveLayoutToFile keep column order, widths, visibility, sorting, grouping, column filters and bands as versioned JSON, and the Load methods restore them. | Help | |
| Multi-selection | gsmMultiRow selects any set of rows and gsmCellRange one range of cells, with Ctrl, Shift and Ctrl+A. The selection is kept by row key, and Ctrl+C copies it as tab separated text. | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| Grouping | Group by one or more columns with GroupBy or by dragging headers onto the group panel, with nested, collapsible group rows. | Help | |
| Summaries | Sum, Count, Average, Min and Max with SummaryType, in every group row and in the footer, formatted with SummaryFormat. | Help | |
| Tree rows | Hierarchies from a key and a parent column (Tree.KeyField, Tree.ParentField), with the expanded state kept per key. | Registered | Help |
| Master detail | A detail band of related rows under each expanded master row, filled from a TsgcGridDataStore, a grid or OnGetDetailData. | Registered | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| In-place editing | Edit cells with a text editor or a pick list combo box, with OnValidate, OnEditError and OnEdited. | Registered | Help |
| DataSet binding | TsgcGridSource_DataSet fills a grid from any TDataSet, creates the columns with AutoColumns and, with LiveUpdates, follows every Append, Edit and Delete. In .NET the same source reads a DataTable. | Help | |
| ItemsSource and MVVM binding (.NET) | TsgcWpfGrid and TsgcAvaloniaGrid show the items of ItemsSource, any IEnumerable, with AutoGenerateColumns, KeyMember and a two way SelectedItem. In WPF the sort, the filter and the grouping of an ICollectionView apply, and IsSynchronizedWithCurrentItem follows its current item. TsgcWinFormsGrid binds DataSource and DataMember like the DataGridView. With ItemsWriteBack the edits, inserts and deletes go back to the items. | ~Community shows and follows the bound items. ItemsWriteBack is Registered. | Help |
| Columns in XAML and in the designer (.NET) | TsgcWpfGridColumn and TsgcAvaloniaGridColumn elements inside the grid declare the columns, with FieldName (dotted paths such as Customer.Country), Caption, DataType and DisplayFormat. In WinForms the Visual Studio designer, on .NET Framework and on .NET 8 or later, edits Columns with a smart tag and a collection editor, and an empty grid shows sample rows in the designer and in the WPF and Avalonia previewers. | Help | |
| JSON and CSV | sgcGrid_IO loads and saves the rows as JSON or CSV (RFC 4180) from strings, streams and files, also on Linux64. | Help | |
| Excel export | SaveToXLSX writes an Excel workbook with column widths, number formats, frozen panes, the group or tree outline and SUBTOTAL formulas. | Registered | Help |
| DataSet editing | With WriteBack a TsgcGridSource_DataSet posts grid edits to their records, SyncCursor keeps the current record and the focused row together, and AllowInsert and AllowDelete add and delete records. Lookup fields are edited as pick lists. | Registered | Help |
| Clipboard paste | Ctrl+V pastes tab separated text from Excel into a cell range. Every value is converted and validated before anything is written, and the paste is one undo step. | Registered | Help |
| Undo and redo | Ctrl+Z and Ctrl+Y undo and redo cell edits and pastes by row key, up to UndoLimit steps. | Registered | Help |
| Cell editors | EditorKind picks a date, time or date and time picker, a spin edit, a colour picker or a token edit from sgcEditors, and OnCreateEditor puts any control of your own in a cell. | Registered | Help |
| Printing and print preview | Print and ShowPrintPreview print every row as the grid shows it, filtered, sorted and grouped, with the band and column headers on every page and only whole rows on a page. PrintSettings sets the paper, orientation, margins, scaling, header and footer once for the printer, the preview and the PDF. In every edition, on VCL, FireMonkey, WinForms, WPF and Avalonia (FireMonkey prints on Windows and macOS). | Help | |
| Accessible PDF export, PDF/UA and PDF/A (with sgcPDF) | ExportToPDF writes vector pages with embedded fonts and searchable text, and every page is a real table with header cells for screen readers. The file is a tagged PDF/UA document by default, and PDFALevel adds PDF/A-2a or PDF/A-3a. Needs the sgcUIPDF bridge and a licensed sgcPDF (esegece.sgcUICore.sgcPDF in .NET). | Registered | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| Themes | Light and dark themes shared with every sgcUI product: Theme, AccentColor, row height and density settings. | Help | |
| Headless rendering | SaveToPNG and SaveToSVG write the current view, and TsgcGridRenderer draws a standalone TsgcGridData to PNG or SVG, also on Linux64. | Help | |
| Charts from the grid | TsgcChartDataSource_Table of sgcCharts plots the grid rows and follows its sort and filter, with no code in between. | Help | |
| Bands | Captions over groups of columns on several levels: Bands holds them and Column.Band places a column under one. | Help | |
| Cell types | CellKind paints a cell as an image from an image list, a progress bar or a line, area or bar sparkline, while the cell keeps its plain value. | Help | |
| Accessibility | Exposed to UI Automation as a table with column headers, rows and cells, the focused cell, the selection, sorting, filtering, grouping and tree rows, the API that screen readers such as Narrator and NVDA use. Filtering, grouping and column moves have keyboard alternatives (column width resizing needs the mouse), the focus ring is always visible and Windows high contrast is followed. On by default on VCL (Delphi 7 to 13), FireMonkey on Windows, WinForms, WPF and Avalonia. | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| Ask your grid | TsgcGridAI turns a question in plain language into filters, sorts and row highlights. With no provider, a local rule based parser answers with no network and no API key. With a provider, any LLM answers, and the rule based parser takes over when the call fails or the answer does not validate. | Help | |
| AI query bar (VCL and FireMonkey) | TsgcVCLAIQueryBar and TsgcFMXAIQueryBar, FireMonkey on Windows, macOS, iOS and Android: type a question, press Enter, read what was applied, Cancel a running question and Undo the last answer, with recent questions and suggestions. Works with the keyboard, screen readers, high contrast and right to left layouts. | Help | |
| AI query bar (WinForms, WPF and Avalonia) | TsgcWinFormsAIQueryBar, TsgcWpfAIQueryBar and TsgcAvaloniaAIQueryBar do the same in .NET, with the light or dark theme of the host. | Help | |
| Any LLM | TsgcUIAIEventProvider hands each request to your own code in its OnRequest event, so any AI service, model or on premises server can answer. In .NET, RequestAsync takes an async handler. | Help | |
| sgcWebSockets AI provider | TsgcUIAIChatProvider of the sgcUICoreWS bridge uses the TsgcAIChat component of sgcWebSockets on every platform. In .NET, the esegece.sgcUICore.sgcWebSockets package. Needs a registered sgcWebSockets. | Registered | Help |
| Privacy | Only the question and the field catalog are sent: names, captions, types and up to 3 sample values per column by default (MaxSampleValues, SendSampleValues), never the rows. OnBeforeAsk can edit or cancel each request. | Help |
| Feature | Details | Community | Help |
|---|---|---|---|
| Live feeds | The sgcGridWS bridge adds WebSocket, MQTT and SSE feed sources that write incoming messages into the grid. Needs sgcWebSockets. | Registered | Help |
| Ask your grid with an assistant | TsgcGridAIQuery, the earlier bridge component, answers through a TsgcHTMLAIAssistant. New projects can use TsgcGridAI with TsgcUIAIChatProvider. | Registered | Help |
| Capability | sgcGrid | Stock Delphi controls |
|---|---|---|
| Update rows by key from a worker thread, without Synchronize | — | |
| Changed cells flash and fade | — | |
| Format rules on cells or whole rows | — | |
| Grouping with a group panel, group and footer summaries | — | |
| Tree rows and master detail bands | — | |
| Excel workbook export with outline and formulas | — | |
| Headless PNG and SVG rendering, also on Linux64 | — | |
| Excel style column filter popup, filter row and find panel | — | |
| Column chooser, header menu and layouts saved as JSON | — | |
| Band headers over groups of columns | — | |
| Progress bar, sparkline and image cells without owner draw code | — | |
| Paste a cell range from Excel, with undo and redo | — |
Capabilities only, as documented in the help. No performance claims.
The .NET grid is a C# port with the same class names, for WinForms, WPF and Avalonia. Start with the free Community package and move to the Registered packages for every feature.
| Package | Edition | Contents |
|---|---|---|
esegece.sgcGrid.Community | Community (free) | Core library |
esegece.sgcGrid | Registered | Core library |
esegece.sgcGrid.WinForms | Registered | Windows Forms controls |
esegece.sgcGrid.Wpf | Registered | WPF controls |
esegece.sgcGrid.Avalonia | Registered | Avalonia controls |
esegece.sgcGrid.Rendering | Registered | Headless rendering |
esegece.sgcGrid.sgcWebSockets | Registered only | sgcWebSockets bridge |
esegece.sgcUICore.sgcWebSockets | Registered only | sgcWebSockets AI provider (TsgcUIAIChatProvider) |
esegece.sgcGrid.sgcHTML | Registered only | sgcHTML bridge |
Every feature of sgcGrid is documented in the sgcUI help, with one build for each development environment.
Start with the sgcGrid introduction, then follow the quick start and the feature topics.
Delphi →The complete sgcUI help as a PDF file, to read offline or print.
Delphi (PDF) →