sgcHTML New Features: Spreadsheet, Form Builder, Reports and More

· Components
sgcHTML New Features: Spreadsheet, Form Builder, Reports and More
✦  sgcHTML · New features

Eleven new components.
One web toolkit for Delphi and .NET.

sgcHTML now ships a spreadsheet, a form builder, a report designer and viewer, a file manager, an image cropper, a code editor, a query builder and guided tours, and the scheduler, the grid, the forms and accessibility took a big step forward. Everything renders on the server and runs without a CDN.

  • Delphi
  • C++ Builder
  • Lazarus
  • .NET
  • ASP.NET Core
Two browsers sharing the same sgcHTML Spreadsheet, a team budget with totals and a chart
11new components
13new live demos
17UI languages built in
0CDN dependencies

Web applications built with Delphi keep asking for the same things: a sheet the user can calculate in, a form the business can change without a new build, a report that prints, a place to keep documents, a picture to crop. Until now each of them meant a JavaScript library, a CDN and some glue code.

With this round of sgcHTML features they are components. You drop them on a form or create them in code, set their properties, handle their server events in Pascal or C#, and the page renders on the server with Bootstrap and htmx. The same components exist in .NET, with ASP.NET Core Tag Helpers, and produce the same markup.

One Minute, Every Feature

The new sgcHTML components running live in the browser. Also on YouTube.

The same budget sheet open in two browsers, updated live
New component

Spreadsheet

A grid with formulas, right inside the page. Users type values and formulas with 54 functions, from SUM and VLOOKUP to SUMIF, dates and PMT, and the server calculates every change and sends back only the cells that changed.

  • Keyboard and clipboard that work like Excel, copy and paste included
  • Insert and delete rows and columns, every reference follows
  • XLSX import and export with formulas and styles
  • Live sync: every open browser sees the change
Spreadsheet1.Sheet.SetCellByName('A14', 'Total');
Spreadsheet1.Sheet.SetCellByName('B14', '=SUM(B2:B13)');
Spreadsheet1.LiveSync := True;     // every browser sees the change
Spreadsheet1.SaveToXLSX(oStream);  // formulas, styles and widths included
The Form builder with a toolbox, the form canvas and the field inspector
New component

Form Builder

Let your users design their own forms. They drag fields onto a 12 column canvas, set labels, options, validation rules and input masks, add fields that only show when another answer matches, and preview the real form before they save it.

The design is the JSON definition of a regular Form, so the published form keeps validation, masks and live validation, and GetJSONSchema describes the data it collects.

FormBuilder1.Form := Form1;        // the form your users design

procedure TPages.FormBuilder1Save(Sender: TObject; const aJSON: string;
  var aAccept: Boolean; var aErrorMessage: string);
begin
  SaveDesign(aJSON);               // store the definition where you like
end;

// on the public page
Form1.LoadFromJSON(LoadDesign);
The Report designer with bands, data fields and the property inspector
New components

Report Engine, Viewer and Designer

Banded reports that print straight to PDF with no external reporting tool: groups and subtotals, charts, barcodes and QR codes, parameters and subreports, with Unicode fonts for Chinese, Japanese, Korean, Arabic and Hebrew.

The viewer previews, prints and exports to Excel. The designer lets developers and end users edit the report in the browser, and in the Delphi IDE (10.4 and later) a double click opens the same designer.

Report1.LoadFromGrid(Grid1, 'Customers');   // print a grid in one call
Report1.SaveToStream(oStream);              // the PDF
The File manager with a folder tree, a file list and a photo preview
New component

File Manager

A document portal in one component: folder tree, details and thumbnails, previews of images, PDF files and text, drag and drop uploads with progress, rename, move, copy and search, all from the mouse or the keyboard.

Secure by default: permissions per user, every path checked on the server, and files served through signed links that expire.

The Image cropper straightening a photographed receipt in document mode
New component

Image Cropper

Profile photos and scanned documents without a library. Photo mode crops, zooms, rotates and straightens, with a circle shape for avatars. Document mode drags four corners and corrects the perspective of a receipt or a page.

Pictures come from a file, the clipboard or the camera, and the server checks every image before it accepts it.

The Code editor running a SQL query in an admin console
New component

Code Editor

CodeMirror 6, embedded in the library. SQL with completion of your tables and columns, JSON with validation in the browser and on the server, and JavaScript, HTML, CSS, XML, Markdown, Python and Pascal, with folding, search and themes that follow the page.

The Query builder with AND and OR rule groups
New component

Query Builder

Filter rules in AND and OR groups over the columns of a grid. Users can also ask a question in plain language and get it back as rules they can see and edit. Your code receives a parameterized WHERE clause, never text written by the user or the AI.

vWhere := QueryBuilder1.GetSQLWhere(oParams);   // ':qb1' style parameters only
A guided tour step with a spotlight on the search box of a dashboard
New components

Tooltips and Product Tours

Tooltips attached to any element, and guided tours that put a spotlight on each step of your first run experience, with Back, Next and Skip, keyboard support and server events when a user finishes or skips.

And Everything Else Got Better

Scheduler and CalendarResources, recurring events, a Timeline view, drag to move and resize, and live sync between users.
GridRange selection, copy and paste with Excel, a row menu and CSV, TSV and XLSX import.
FileUploadChunked and resumable uploads with progress, size limits and thumbnails.
RichEditorToolbar presets, images, mentions and a server side HTML sanitizer.
Diagram and MapEditable diagrams with automatic layouts and an org chart mode, map clustering and GeoJSON.
Form validation and masksRules checked in the browser and on the server, live validation and input masks.
DatePickerA popup calendar with presets, disabled dates and week numbers.
Server eventsTabs, Select, Rating, TreeView, Calendar, Scheduler, Stepper, Modal and Toast raise events in your code.
AccessibilityARIA on every component, keyboard navigation and an Accessibility Conformance Report for WCAG 2.2 A and AA.

Try Them Online

Every feature has a live demo you can open right now, no download needed.

Delphi and .NET, Same Result

Every component is available for Delphi, C++ Builder and Lazarus, and for .NET with ASP.NET Core Tag Helpers such as <sgc-spreadsheet>, <sgc-form-builder> and <sgc-report-viewer>. Both write the same markup, the components speak 17 languages including right to left, and every script and stylesheet is embedded in the library, so your pages never depend on a CDN.

Build Your Next Web App with sgcHTML

A server rendered component toolkit for Delphi and .NET, with the components your users expect.