sgcGrid 功能矩阵

按任务分类的 sgcGrid 全部功能,每项功能都链接到对应的帮助主题。同一个模型驱动 VCL、FireMonkey、WinForms、WPF 和 Avalonia 网格。

实时数据

6 项功能

主题与渲染

11 项功能

.NET

8 个 NuGet 包

文档

在线帮助与 PDF 手册

注册版 标记包含在注册版和试用版中、但不包含在免费社区版中的功能。~ 标记社区版仅部分提供的功能,差异说明见其下方。

每一行都链接到对应的帮助主题。社区版一列显示免费 .NET 社区版包含的内容;注册版和试用版包含全部功能。

列筛选器、筛选行、查找面板、列选择器、列移动、最佳列宽、布局、多选、带区、单元格类型、DataSet 编辑、粘贴、撤销和 sgcEditors 单元格编辑器,都位于适用于 Delphi 和 C++ Builder 的 VCL 与 FireMonkey 网格以及适用于 .NET 的 WinForms、WPF 和 Avalonia 网格中,社区版与注册版的划分相同,详见版本。在 .NET 中,DataSet 编辑写回 DataTable,AddLookup 添加查找列,SyncCursor 仅限 Delphi。

实时数据

功能详情社区版帮助
可从任意线程实时更新Data.AppendRow 和 Data.UpdateRow 是线程安全的。可按键更新一个或多个字段,BeginUpdate 和 EndUpdate 会将一批更新合并为一次重绘,由 MaxFPS 控制节奏。帮助
变化时闪烁单元格的值上升时闪烁绿色,下降时闪烁红色,然后渐隐。尾部模式会让日志或数据源的最新行始终保持在视野内。帮助
虚拟模式按需提供超大数据集。帮助
ISA-18.2 报警列表TsgcGridAlarmModel 保存 HMI 的报警,包含 ISA-18.2 状态(未确认的激活、已确认的激活、未确认的恢复正常、正常、搁置和抑制)以及优先级 1 到 4。应用程序调用 RaiseAlarm 和 ClearAlarm,操作员使用 Acknowledge、AcknowledgeAll、Shelve 和 Unshelve,FilterPriorities、FilterStates 和 FilterText 用于筛选列表,列表可导出为 JSON 或 CSV。TsgcGridAlarmLink 在表格中显示它,每个位号一行,带优先级颜色和闪烁的未确认行,TsgcVCLGridAlarmMenu 添加右键菜单(FireMonkey 上为 TsgcFMXGridAlarmMenu,.NET 中为 WinForms、WPF 和 Avalonia 菜单)。帮助
报警确认日志每次确认、搁置、取消搁置、抑制和取消抑制,以及每次搁置到期,都会向 Log 添加一条带时间和用户的记录并触发 OnLog,例如用于写入数据库。SaveToJSON 和 SaveToCSV 用于保存日志。注册版帮助
日志查看器TsgcGridLogModel 在环形缓冲区中保存带时间、从 trace 到 fatal 的级别、来源和消息的日志行,工作线程可以直接追加日志行。TsgcGridLogLink 以虚拟模式在网格中显示它们,按级别着色,按级别、来源和文本筛选,带高亮规则、用户向上滚动时停止的跟随末尾、暂停和继续,并可导出为文本、JSON 和 CSV。帮助

排序、筛选和选择

功能详情社区版帮助
排序按多列排序。帮助
筛选筛选网格中显示的行。帮助
选择与键盘用鼠标和键盘选择行或单元格。帮助
调整列宽用户可用鼠标调整列宽。帮助
填满宽度的列AutoFitColumns 按各列宽度的比例在列之间分配网格宽度,Column.AutoFit 设为 False 则保持固定宽度,MaxWidth 在调整或适配列宽时为列设置上限。帮助
冻结列在其余列滚动时,让前几列始终保持可见。帮助
条件格式格式规则会在值满足条件时为单元格或整行着色,半透明颜色会在单元格背景上叠加色调。帮助
字体样式和图标集格式规则除粗体外还可设置斜体、下划线和删除线,OnGetCellFont 可设置任意单元格的字体样式和大小。AddIconSet 根据两个阈值添加箭头、圆点、旗帜或对勾,规则还可以显示图标或您自己的图像。帮助
从右到左(阿拉伯语和希伯来语)列从右侧开始排列,冻结列位于右边缘;滚动条、树和分组缩进、展开箭头、表头图标、页脚和就地编辑器均已镜像。数字和日期仍保持从左到右。SaveToXLSX(注册版)会写出从右到左的工作表,也可通过 TsgcGridXLSXWriter.RightToLeft 实现。帮助
列筛选器每个列标题中的漏斗(ShowFilterButtons)会打开一个弹出窗口,列出该列的不同值及其数量、一个搜索框,以及最多两个用 And 或 Or 连接的类型化条件。帮助
筛选行ShowFilterRow 会在标题下方添加一行,边输入边筛选每一列,每列的运算符在 FilterRowOperator 中设置。帮助
日期时段日期列可在列筛选器和筛选行中按今天、昨天、本周或上周、本月或上月、今年或去年以及最近 N 天筛选。FirstDayOfWeek 设置一周的起始日,默认遵循区域设置。帮助
查找面板Ctrl+F 或 ShowFindPanel 会在每个单元格中高亮文本,F3 和 Shift+F3 在匹配项之间跳转,FindOnlyMatches 会隐藏其他行。帮助
列选择器和标题菜单右键单击标题可排序、分组、调整宽度、筛选,并打开列选择器,这是一个每列带一个复选框的弹出窗口。ShowColumnChooser 可在代码中打开它。帮助
标题图像和按钮HeaderImageIndex 在标题文字前显示图像,HeaderButton 添加一个会触发 OnHeaderButtonClick 的按钮,OnHeaderClick 可以跳过点击标题时的排序。帮助
列重排用户拖动标题即可移动该列,列仍留在冻结列的同一侧及其所在带区内;OnColumnMoved 会报告这次移动。帮助
最佳列宽双击标题边缘,或使用 BestFitColumn 和 BestFitColumns,会让宽度适应标题和最多 1,000 个采样行。帮助
布局持久化SaveLayoutToString、SaveLayoutToStream 和 SaveLayoutToFile 会把列顺序、宽度、可见性、排序、分组、列筛选器和带区保存为带版本的 JSON,Load 方法则将其还原。帮助
自动布局使用 AutoSaveLayout,网格在关闭时保存布局并在下次运行时恢复,可为每个网格保存一个文件,也可通过 OnSaveLayout 和 OnLoadLayout。标题菜单中的 Reset layout 可恢复设计时的列。帮助
多选gsmMultiRow 可选择任意一组行,gsmCellRange 可选择一个单元格区域,支持 Ctrl、Shift 和 Ctrl+A。选择按行键保存,Ctrl+C 会把它复制为制表符分隔的文本。帮助
行头RowHeader 在行的左侧添加一个区域,包含记录指示器、行号和每行一个复选框,角上的复选框可选择或清除所有行。SelectionColor 和 SelectionTextColor 设置选择颜色。帮助
行拖放RowDragMode 将所选行拖到另一个控件,在 VCL 中 grdOLE 还会把它们以文本、CSV 和 HTML 表格的形式放入 Excel 等其他应用程序。OnStartRowDrag 可以取消拖动。帮助
卡片视图将 ViewStyle 设为 gvsCard 后,每一行都是一张卡片,带有可选的标题栏、可选的图片,以及每个可见列各占一行。卡片显示的行与表格相同,因此排序、筛选、查找面板、选择、编辑和服务器模式在两种视图中都可使用。CardOptions 设置 CaptionField、ImageField、CardWidth、CardColumns 和间距。卡片视图不支持分组。注册版帮助
卡片视图的键盘和鼠标方向键在卡片之间移动,Home 和 End 跳到带区的第一张和最后一张卡片,Tab 在卡片的字段之间移动,F2 编辑字段,右键单击字段标题会打开列菜单,无需列标题即可排序和筛选。注册版帮助

分组、树形和明细

功能详情社区版帮助
分组按某一列对行分组,并提供分组面板。帮助
汇总分组汇总和页脚汇总。帮助
树形行将层级数据显示为可展开和折叠的树形行。注册版帮助
主从明细在父行下展开明细行,例如某个客户的订单。注册版帮助

编辑、导入和导出

功能详情社区版帮助
就地编辑就地编辑单元格,并提供验证事件。注册版帮助
DataSet 绑定TsgcGridSource_DataSet 可用任意 TDataSet 填充网格,通过 AutoColumns 创建列,并在启用 LiveUpdates 后跟随每一次 Append、Edit 和 Delete。在 .NET 中,同一数据源可读取 DataTable。帮助
数据集筛选和排序使用 ApplyFilter,数据集只保留网格显示的行,因此其上的其他控件看到的是相同的行,OnApplySort 则把网格的排序作为字段名传给您的查询。在 .NET 中,DataTable 视图遵循网格筛选。帮助
服务器模式提供程序组件每次只读取一页行,由数据源计算排序、列筛选器、筛选行、查找文本、页脚汇总和行数,因此包含数百万行的表与只有五十行的表一样快速打开。尚未加载的行显示占位条;编辑通过提供程序写回。服务器模式下不提供树形行和明细带,筛选弹出窗口也不显示行数。注册版帮助
服务器模式提供程序TsgcGridServerProvider_DataSet 为 SQLite、SQL Server、PostgreSQL、MySQL、Oracle、Firebird、InterBase 或通用 Dialect 生成 SQL,并通过任意查询组件运行,例如 FireDAC、dbExpress、ADO、IBX、UniDAC 或 Zeos。在 .NET 中,TsgcGridServerProvider_Queryable 读取任意 IQueryable,TsgcGridServerProvider_AdoNet 读取任意 ADO.NET 连接。TsgcGridServerProvider_Callback 通过事件为任何其他数据源提供服务,可从任意线程应答。注册版帮助
服务器分组服务器模式下的分组每一级运行一条 GROUP BY:分组连同其行数和汇总一起返回,分组的子行在第一次展开时才加载。MaxGroups 限制列在同一个父级下的分组数量。注册版帮助
从 TDBGrid 导入 (VCL)在设计时,网格上下文菜单的 Import columns from DB grid 命令会复制 TDBGrid 的列、数据集链接、位置和事件,并列出无法复制的内容。帮助
ItemsSource 与 MVVM 绑定 (.NET)TsgcWpfGrid 和 TsgcAvaloniaGrid 显示 ItemsSource(任意 IEnumerable)中的项目,并支持 AutoGenerateColumns、KeyMember 和双向的 SelectedItem。在 WPF 中,ICollectionView 的排序、筛选和分组都会生效,IsSynchronizedWithCurrentItem 会跟随它的当前项。TsgcWinFormsGrid 像 DataGridView 一样绑定 DataSource 和 DataMember。启用 ItemsWriteBack 后,编辑、插入和删除会写回到各个项目。~社区版显示并跟随所绑定的项目。ItemsWriteBack 为注册版功能。帮助
XAML 与设计器中的列 (.NET)网格内的 TsgcWpfGridColumn 和 TsgcAvaloniaGridColumn 元素用 FieldName(支持点分路径,如 Customer.Country)、Caption、DataType 和 DisplayFormat 声明列。在 WinForms 中,.NET Framework 以及 .NET 8 或更高版本上的 Visual Studio 设计器通过智能标记和集合编辑器编辑 Columns,空网格会在设计器以及 WPF 和 Avalonia 预览器中显示示例行。帮助
JSON 和 CSV以 JSON 和 CSV 加载和保存行。帮助
Excel 导出将网格保存为 Excel 工作簿 (XLSX),并包含单元格格式。在 Excel 模式下,它会写出每个工作表及其公式和计算值。注册版帮助
Excel 模式启用 ExcelMode 后,网格就像一个轻量电子表格:支持用 Ctrl+C 复制的区域选择、可延续序列并移动公式引用的填充柄,以及支持 A1 引用、其他工作表的引用和 SUM、AVERAGE、MIN、MAX、COUNT、IF、ROUND、ABS 的公式。LoadFromXLSX 无需外部库即可打开 Excel 工作簿,包括每个工作表及其公式和单元格格式。注册版帮助
单元格格式每个单元格的粗体、斜体、下划线、删除线、字号和颜色、填充颜色、水平和垂直对齐、自动换行、数字格式和边框,在 Excel 模式下可通过 FormatSelection、ToggleSelectionFontStyle 或 Ctrl+B、Ctrl+I、Ctrl+U 和 Ctrl+5 设置。格式与数据一起存储,每次更改算一个撤销步骤,SaveToXLSX 和 LoadFromXLSX 会保留它们。注册版帮助
工作表一个网格中有多个工作表,通过 AddSheet、RenameSheet、DeleteSheet、MoveSheet 和 ActiveSheet 管理;启用 ShowSheetTabs 后,标签栏可切换、添加、重命名和重新排序工作表。公式可通过 Orders!E1:E20 或 'Q4 Notes'!B1 这样的引用读取其他工作表,重命名时这些引用会随之改写。注册版帮助
列公式列的 Formula(例如 =C1*D1)按第 1 行编写,会计算只读列的每一行,适用于内存数据、虚拟模式和 TsgcGridSource_DataSet。在虚拟模式下,OnGetValue 返回的公式文本也会被计算。注册版帮助
DataSet 编辑启用 WriteBack 后,TsgcGridSource_DataSet 会把网格中的修改提交到各自的记录,SyncCursor 让当前记录和活动行保持一致,AllowInsert 和 AllowDelete 用于添加和删除记录。查找字段会作为选择列表进行编辑。注册版帮助
从剪贴板粘贴Ctrl+V 会把从 Excel 复制的制表符分隔文本粘贴到一个单元格区域。每个值在写入任何内容之前都会先转换并验证,整个粘贴只算一个撤销步骤。注册版帮助
撤销和重做Ctrl+Z 和 Ctrl+Y 按行键撤销和重做单元格修改与粘贴,最多 UndoLimit 步。注册版帮助
单元格编辑器EditorKind 可选择日期、时间或日期时间选择器、带箭头的数字框、颜色选择器,或来自 sgcEditors 的令牌编辑器,OnCreateEditor 则可把你选择的任意控件放进单元格。注册版帮助
备忘录和查找编辑器gedMemo 以多行编辑长文本,gedLookup 从多列列表中选取值,列表由 LookupItems 或数据集的查找字段填充。注册版帮助
打印和打印预览Print 和 ShowPrintPreview 可以按网格显示的样子打印所有行(已应用筛选、排序和分组),在每一页重复带区和列标题,每页只放完整的行。PrintSettings 一次性设置纸张、方向、页边距、缩放、页眉和页脚,打印机、预览和 PDF 共用这些设置。所有版本均可使用,支持 VCL、FireMonkey、WinForms、WPF 和 Avalonia(FireMonkey 的打印在 Windows 和 macOS 上可用)。帮助
无障碍 PDF 导出,PDF/UA 和 PDF/A(配合 sgcPDF)ExportToPDF 写出带嵌入字体和可搜索文本的矢量页面,每一页都是带标题单元格的真正表格,屏幕阅读器可以朗读。文件默认是带标签的 PDF/UA 文档,PDFALevel 可再加上 PDF/A-2a 或 PDF/A-3a。需要 sgcUIPDF 桥接和已获许可的 sgcPDF(在 .NET 中为 esegece.sgcUICore.sgcPDF)。注册版帮助

主题与渲染

功能详情社区版帮助
主题与每款 sgcUI 产品共享的浅色和深色主题。在 Fluent 主题预设下,表格采用 Windows 11 颜色和 Windows 强调色,标签芯片的圆角取自预设的 RadiusChip(Classic 为 6 像素,Fluent 为 4 像素)。帮助
无界面渲染SaveToPNG 和 SaveToSVG 写出当前视图,TsgcGridRenderer 可将独立的 TsgcGridData 绘制为 PNG 或 SVG,在 Linux64 上同样可用。帮助
来自网格的图表sgcCharts 图表可直接绘制网格的行。帮助
带区列组上方的标题,层级数量不限:Bands 保存这些标题,Column.Band 把一列放到其中一个带区之下。帮助
单元格类型CellKind 会把单元格绘制成来自图像列表的图像、进度条,或折线、面积或柱状迷你图,而单元格仍保留其原始值。 gcdTags 会根据以分隔符分隔的文本值在一个单元格中绘制多个彩色标签,可使用随主题自动匹配的颜色或为每个标签指定颜色,+N 标签以完整列表作为提示,并支持按标签筛选。帮助
复选框和链接单元格TrueValue 和 FalseValue 在存储 S 和 N 等值的列中显示复选框,BooleanFields 在数据集源上设置它们。切换复选框需要 Registered 版本。gcdLink 把文本显示为触发 OnLinkClick 的链接。帮助
来自 BLOB 字段的图像BLOB 字段上的 gcdImage 列会绘制其中存储的图片,OnGetCellImage 提供任何其他图像,鼠标停在单元格上时,ImagePreview 会显示更大的副本。帮助
多行标题和行HeaderLines 和 RowLines 让标题和行有若干行高,WordWrap 使列的文本自动换行。帮助
单元格和标题提示ShowTruncatedHints 把放不下的单元格或标题的完整文本显示为提示,OnGetCellHint 为任意单元格设置您自己的提示。帮助
自定义单元格绘制OnCustomDrawCell 事件提供画布和单元格矩形,并可保留或跳过默认内容。打印和导出为 PDF 时它也会运行。OnRenderError 报告网格绘制时引发的异常。帮助
无障碍作为带有列标题、行和单元格的表格向 UI Automation 公开,包括焦点单元格、选择、排序、筛选、分组和树形行,Narrator 和 NVDA 等屏幕阅读器使用的正是这一 API。筛选、分组和移动列都有键盘替代方式(调整列宽需要鼠标),焦点环始终可见,并遵循 Windows 高对比度。默认开启,可用于 VCL(Delphi 7 到 13)、Windows 上的 FireMonkey、WinForms、WPF 和 Avalonia。帮助

向网格提问

功能详情社区版帮助
向网格提问TsgcGridAI 会把自然语言问题转换为筛选、排序和行高亮。未设置提供程序时,本地规则解析器会作答,无需网络,也无需 API 密钥。设置提供程序后,由任意 LLM 作答;当调用失败或答案未通过验证时,由规则解析器接手。帮助
AI 查询栏(VCL 和 FireMonkey)TsgcVCLAIQueryBar 和 TsgcFMXAIQueryBar,FireMonkey 适用于 Windows、macOS、iOS 和 Android:输入问题,按 Enter,查看已应用的内容,可取消正在进行的提问,也可撤销上一个答案,并带有最近的问题和建议。支持键盘、屏幕阅读器、高对比度和从右到左的布局。帮助
AI 查询栏(WinForms、WPF 和 Avalonia)TsgcWinFormsAIQueryBar、TsgcWpfAIQueryBar 和 TsgcAvaloniaAIQueryBar 在 .NET 中提供相同的功能,并跟随宿主的浅色或深色主题。帮助
任意 LLMTsgcUIAIEventProvider 会在其 OnRequest 事件中把每个请求交给你自己的代码,因此任何 AI 服务、模型或本地部署的服务器都可以作答。在 .NET 中,RequestAsync 接受异步处理程序。帮助
sgcWebSockets AI 提供程序sgcUICoreWS 桥接的 TsgcUIAIChatProvider 在所有平台上使用 sgcWebSockets 的 TsgcAIChat 组件。在 .NET 中使用 esegece.sgcUICore.sgcWebSockets 包。需要已注册的 sgcWebSockets。注册版帮助
隐私只发送问题和字段目录:名称、标题、类型,以及每列默认最多 3 个示例值(MaxSampleValues、SendSampleValues),绝不发送行数据。OnBeforeAsk 可以修改或取消每个请求。帮助

sgcWebSockets 桥接

功能详情社区版帮助
实时数据源sgcGridWS 桥接增加了 WebSocket、MQTT 和 SSE 数据源,会将收到的消息写入网格。需要 sgcWebSockets。注册版帮助
实时日志sgcUICoreWS 桥接的 WebSocket、MQTT 和 SSE 实时数据源根据 JSON 消息(append、batch、clear)向 TsgcGridLogModel 追加日志行,来自套接字线程的一批日志只需访问一次主线程。ApplyMessage 让您自己的代码也能使用同样的消息。需要 sgcWebSockets。注册版帮助
借助助手向网格提问较早的桥接组件 TsgcGridAIQuery 通过 TsgcHTMLAIAssistant 作答。新项目可以将 TsgcGridAI 与 TsgcUIAIChatProvider 搭配使用。注册版帮助

sgcGrid 与 Delphi 自带网格对比

功能sgcGridDelphi 自带控件
从工作线程按键更新行,无需 Synchronize—
变化的单元格闪烁并渐隐—
针对单元格或整行的格式规则—
带分组面板、分组和页脚汇总的分组—
树形行和主从明细带—
通过服务器上的 SQL 对包含数百万行的数据库表进行分页、排序、筛选和分组—
相同行的卡片视图,具有相同的排序、筛选和编辑功能—
带分级显示、公式、单元格格式和多个工作表的 Excel 工作簿导出—
无界面 PNG 和 SVG 渲染,也支持 Linux64—
Excel 风格的列筛选弹出窗口、筛选行和查找面板—
列选择器、标题菜单和保存为 JSON 的布局—
列组上方的带区标题—
无需自定义绘制代码的进度条、迷你图、图像和标签单元格—
适用于任意存储值的复选框列、链接单元格和来自 BLOB 字段的图片—
多行标题和行、标题图像和按钮、被截断文本的提示—
带复选框和行号的行头、向其他应用程序的行拖放—
自动保存的布局和填满网格宽度的列—
从 Excel 粘贴单元格区域,并支持撤销和重做—

仅列出帮助文档中记载的功能,不含性能声明。

适用于 .NET 的 sgcGrid

.NET 网格是类名相同的 C# 移植版本,适用于 WinForms、WPF 和 Avalonia。可先使用免费的社区包,再升级到注册版包以获得全部功能。

包版本内容
esegece.sgcGrid.Community社区版(免费)核心库
esegece.sgcGrid.WinForms.Community社区版(免费)Windows Forms 控件
esegece.sgcGrid.Wpf.Community社区版(免费)WPF 控件
esegece.sgcGrid.Avalonia.Community社区版(免费)Avalonia 控件
esegece.sgcGrid.Rendering.Community社区版(免费)无头渲染
esegece.sgcGrid注册版核心库
esegece.sgcGrid.WinForms注册版Windows Forms 控件
esegece.sgcGrid.Wpf注册版WPF 控件
esegece.sgcGrid.Avalonia注册版Avalonia 控件
esegece.sgcGrid.Rendering注册版无界面渲染
esegece.sgcGrid.sgcWebSockets仅限注册版sgcWebSockets 桥接
esegece.sgcUICore.sgcWebSockets仅限注册版sgcWebSockets AI 提供程序(TsgcUIAIChatProvider)
esegece.sgcGrid.sgcHTML仅限注册版sgcHTML 桥接

文档

sgcGrid 的每项功能都记录在 sgcUI 帮助中,每种开发环境各有一个版本。

在线帮助

请先阅读 sgcGrid 简介,再依次查看快速入门和各功能主题。

Delphi →
C++ Builder →
.NET →

PDF 手册

完整的 sgcUI 帮助 PDF 文件,可离线阅读或打印。

Delphi (PDF) →
C++ Builder (PDF) →
.NET (PDF) →
超值之选:All-AccesseSeGeCe 全部产品,含高级支持,每年 €1,059 起。
查看 All-Access 价格

使用 sgcGrid 开发

下载 sgcUI 试用版,将 sgcGrid 添加到您的 Delphi、C++ Builder 或 .NET 应用程序中。