sgcHTML 新功能:电子表格、表单构建器、报表等

· 组件
sgcHTML 新功能:电子表格、表单构建器、报表等 | eSeGeCe 博客
✦  sgcHTML · 新功能

十一个新组件。
一套面向 Delphi 和 .NET 的 Web 工具包。

sgcHTML 现在带来了电子表格、表单构建器、报表设计器和查看器、文件管理器、图像裁剪器、代码编辑器、查询构建器和引导式导览,同时日程表、表格、表单和无障碍支持也有了长足进步。一切都在服务器端渲染,无需 CDN 即可运行。

  • Delphi
  • C++ Builder
  • Lazarus
  • .NET
  • ASP.NET Core
两个浏览器共享同一个 sgcHTML 电子表格,显示带有合计和图表的团队预算
11新组件
13新在线演示
17内置界面语言
0CDN 依赖

使用 Delphi 构建的 Web 应用总是提出同样的需求:一个可以计算的表格,一个业务人员无需重新编译就能修改的表单,一份可以打印的报表,一个存放文档的地方,一张需要裁剪的图片。到目前为止,每一项都意味着要引入一个 JavaScript 库、一个 CDN 和一些胶水代码。

借助这一轮 sgcHTML 新功能,它们都成了组件。你把它们放到窗体上或在代码中创建,设置属性,用 Pascal 或 C# 处理服务器事件,页面则由服务器使用 Bootstrap 和 htmx 渲染。.NET 中也有相同的组件,配有 ASP.NET Core Tag Helper,并生成相同的标记。

一分钟看完所有功能

新的 sgcHTML 组件在浏览器中实时运行。也可在 YouTube 观看。

同一张预算表在两个浏览器中打开,实时更新
新组件

电子表格

页面内的公式表格。用户输入数值和公式,可使用 54 个函数,从 SUM、VLOOKUP 到 SUMIF、日期函数和 PMT,服务器计算每一次更改,并且只返回发生变化的单元格。

  • 与 Excel 一样的键盘和剪贴板操作,包括复制和粘贴
  • 插入和删除行与列,所有引用自动跟随
  • 导入和导出 XLSX,保留公式和样式
  • 实时同步:每个打开的浏览器都能看到更改
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
表单构建器,包含工具箱、表单画布和字段检查器
新组件

表单构建器

让您的用户自己设计表单。他们把字段拖到 12 列的画布上,设置标签、选项、验证规则和输入掩码,添加仅在其他答案匹配时才显示的字段,并在保存前预览真实的表单。

设计结果就是普通 Form 的 JSON 定义,因此发布后的表单保留验证、掩码和实时验证,GetJSONSchema 则描述它所收集的数据。

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);
带有分带、数据字段和属性检查器的报表设计器
新组件

报表引擎、查看器和设计器

分带式报表可直接输出 PDF,无需任何外部报表工具:分组与小计、图表、条形码和二维码、参数与子报表,并内置支持中文、日文、韩文、阿拉伯文和希伯来文的 Unicode 字体。

查看器可以预览、打印并导出到 Excel。设计器让开发人员和最终用户在浏览器中编辑报表,在 Delphi IDE(10.4 及更高版本)中双击即可打开同一个设计器。

Report1.LoadFromGrid(Grid1, 'Customers');   // print a grid in one call
Report1.SaveToStream(oStream);              // the PDF
文件管理器,包含文件夹树、文件列表和照片预览
新组件

文件管理器

一个组件就是一个文档门户:文件夹树、详细信息和缩略图视图、图片、PDF 和文本预览、带进度的拖放上传、重命名、移动、复制和搜索,鼠标和键盘都能完成。

默认即安全:按用户设置权限,每个路径都在服务器上校验,文件通过会过期的签名链接提供。

图像裁剪器在文档模式下矫正拍摄的收据
新组件

图像裁剪器

无需任何库,即可处理头像和扫描文档。照片模式支持裁剪、缩放、旋转和矫正,并提供用于头像的圆形裁剪。文档模式可拖动四个角点,校正收据或页面的透视。

图片可来自文件、剪贴板或摄像头,服务器会在接受之前检查每一张图片。

代码编辑器在管理控制台中运行 SQL 查询
新组件

代码编辑器

CodeMirror 6,内置于库中。SQL 可补全您的表和列,JSON 可在浏览器和服务器上验证,还支持 JavaScript、HTML、CSS、XML、Markdown、Python 和 Pascal,提供折叠、搜索,以及跟随页面的主题。

带有 AND 和 OR 规则组的查询构建器
新组件

查询构建器

在表格的列上,用 AND 和 OR 分组来构建筛选规则。用户还可以用自然语言提问,并得到可见、可编辑的规则。您的代码收到的是参数化的 WHERE 子句,绝不是用户或 AI 写出的文本。

vWhere := QueryBuilder1.GetSQLWhere(oParams);   // ':qb1' style parameters only
引导式导览的一个步骤,聚光灯照在仪表板的搜索框上
新组件

工具提示与产品导览

工具提示可附加到任何元素;引导式导览会为首次使用体验的每一步打上聚光灯,提供上一步、下一步和跳过按钮、键盘支持,并在用户完成或跳过时触发服务器事件。

其他方面也都变得更好

日程表与日历资源、重复事件、时间轴视图、拖动移动与调整大小,以及用户之间的实时同步。
Grid范围选择、与 Excel 之间的复制粘贴、行菜单,以及 CSV、TSV 和 XLSX 导入。
FileUpload带进度的分块可续传上传、大小限制和缩略图。
RichEditor工具栏预设、图片、提及,以及服务器端 HTML 净化器。
图表与地图可编辑的图表,带自动布局和组织结构图模式,以及地图聚合和 GeoJSON。
表单验证与掩码在浏览器和服务器上校验的规则、实时验证和输入掩码。
DatePicker带预设、禁用日期和周数的弹出式日历。
服务器事件Tabs、Select、Rating、TreeView、Calendar、Scheduler、Stepper、Modal 和 Toast 都会在您的代码中触发事件。
无障碍每个组件都支持 ARIA、键盘导航,并提供符合 WCAG 2.2 A 和 AA 的无障碍合规报告。

在线试用

每项功能都有可立即打开的在线演示,无需下载。

Delphi 与 .NET,效果一致

每个组件都适用于 Delphi、C++ Builder 和 Lazarus,也适用于 .NET,并提供 ASP.NET Core Tag Helper,例如 <sgc-spreadsheet>、<sgc-form-builder> 和 <sgc-report-viewer>。两者生成相同的标记,组件支持 17 种语言(包括从右到左的文字),所有脚本和样式表都嵌入在库中,因此您的页面永远不依赖 CDN。

用 sgcHTML 构建您的下一个 Web 应用

面向 Delphi 和 .NET 的服务器端渲染组件工具包,提供用户期待的各种组件。