
问题背景
在 Stimulsoft 报表里,变量常被用作输入参数。为了让最终用户看到更友好的字段名,开发者通常会维护 Alias;而 Description 更适合放内部说明、业务解释或维护备注。
原帖用户反馈的问题是:从 Stimulsoft Designer、Angular、JS 等 2026.2.1 版本开始,报表启动后,参数面板会自动显示变量定义中的 Description。此前即使变量填了 Description,界面上也主要展示 Alias。升级后,旧报表不改模板也会出现更高的参数项,导致报表主体显示区域被压缩。
这类问题容易被误判为样式表、前端布局或容器高度问题。实际关键点并不在 CSS,而是新版 Viewer/Designer 增加了参数描述显示行为,需要使用官方提供的开关控制。
官方回复要点
Stimulsoft 官方支持人员先记录了内部编号 #20165,随后给出处理结论:新增 ParametersPanelShowDescriptions 选项,用于控制参数面板是否显示描述,并说明该选项会在后续构建中提供。
之后官方又补充了 .NET 侧的选项名:StiOptions.Viewer.Windows.ShowParameterDescription。
本次核查时,Stimulsoft Reports.JS 的 npm 最新版本为 2026.2.4。其 TypeScript 定义中已经可以看到对应属性:StiViewerOptions.appearance.parametersPanelShowDescriptions。Stimulsoft Reports.NET 官方 2026.2.3 变更日志也列出了 StiOptions.Viewer.Windows.ShowParameterDescription,说明 .NET 侧开关已进入公开版本。
因此,可以把解决方向拆成两类:
- JS/Angular/前端 Viewer:在创建 Viewer 前,将
options.appearance.parametersPanelShowDescriptions设为false。 - .NET Windows Viewer:在 Viewer 初始化前,将
StiOptions.Viewer.Windows.ShowParameterDescription设为false。
JS / Angular 侧写法
在 Reports.JS 或 Dashboards.JS 中,官方论坛提到的是 ParametersPanelShowDescriptions,而 TypeScript 定义中暴露的属性是小驼峰写法:parametersPanelShowDescriptions。它位于 Stimulsoft.Viewer.StiViewerOptions 的 appearance 对象下。
典型写法如下:
ts
const options = new Stimulsoft.Viewer.StiViewerOptions();
options.appearance.parametersPanelShowDescriptions = false;
const viewer = new Stimulsoft.Viewer.StiViewer(options, "StiViewer", false);
viewer.report = report;
viewer.renderHtml("viewer");
关键是设置时机:要在创建 Viewer 或渲染 Viewer 之前完成。参数面板已经渲染后再改这个值,通常还需要重新创建或刷新 Viewer,才会反映到当前 UI。
如果项目封装了 Angular 组件,可以把这段逻辑放在创建 viewer options 的位置,而不是散落到报表模板里:
ts
private createViewerOptions(): Stimulsoft.Viewer.StiViewerOptions {
const options = new Stimulsoft.Viewer.StiViewerOptions();
options.appearance.parametersPanelShowDescriptions = false;
return options;
}
这样做的好处是,所有通过该组件打开的报表都会采用同一策略,不需要逐个删除变量的 Description。
.NET Viewer 侧写法
如果使用的是 .NET Windows Viewer,官方变更日志给出的选项是:
csharp
StiOptions.Viewer.Windows.ShowParameterDescription = false;
建议在创建或显示 Viewer 之前设置,例如:
csharp
using Stimulsoft.Report;
StiOptions.Viewer.Windows.ShowParameterDescription = false;
var report = new StiReport();
report.Load("Report.mrt");
report.Show();
如果项目中有统一的报表入口,例如报表预览服务、桌面端报表窗口基类或应用启动配置,可以把这行代码放在那里。这样比逐个修改 .mrt 报表文件更稳,也不会破坏变量定义中的说明信息。
需要注意,官方论坛补充的是 .NET version 中的 Viewer.Windows 选项。ASP.NET、Blazor、JS Viewer 等 Web 场景不要直接套用这行 C# 全局选项,应优先使用对应前端 Viewer options 中的 parametersPanelShowDescriptions。
不建议删除所有 Description
原帖用户也提到一个临时思路:把所有显示变量的 Description 值删掉。这个方法能让界面恢复简洁,但不建议作为首选。
原因有三个:
Description本身可能有维护价值,删除后报表模板会丢失说明信息。- 已有报表数量多时,逐个改模板风险高,也不利于回滚。
- 后续如果又希望在某些场景显示描述,模板里的信息已经被破坏。
更合理的做法是:保留变量定义,使用 Viewer 层的显示开关决定是否在参数面板呈现描述。模板负责表达业务含义,运行时界面负责控制展示密度。
排查清单
- 先确认当前版本。JS/Angular 项目检查
stimulsoft-reports-js或stimulsoft-dashboards-js是否已经升级到包含parametersPanelShowDescriptions的构建;本次核查的2026.2.4类型定义中已经包含该属性。 - 搜索项目中创建
StiViewerOptions的位置,确认是否设置了options.appearance.parametersPanelShowDescriptions = false。 - 确认设置发生在 Viewer 创建、绑定报表、渲染之前。
- 如果 TypeScript 提示没有该属性,先检查安装包版本和导入的类型定义,不要直接用
any绕过版本问题。 - .NET Windows Viewer 项目检查是否在应用启动或 Viewer 初始化前设置了
StiOptions.Viewer.Windows.ShowParameterDescription = false。 - 如果仍然显示描述,确认当前页面没有创建第二套 Viewer options,或在后续代码里又把该开关改回默认值。
版本与注意事项
- 官方支持人员在 2026 年 5 月表示新增
ParametersPanelShowDescriptions。 stimulsoft-reports-js@2026.2.4的 TypeScript 定义中包含appearance.parametersPanelShowDescriptions。- Stimulsoft Reports.NET
2026.2.3官方变更日志包含StiOptions.Viewer.Windows.ShowParameterDescription。
如果你的项目低于这些构建,可能看不到该选项。此时不要把问题归因到样式失效,优先升级到包含该开关的版本,再做配置验证。
另外,JS 属性是 parametersPanelShowDescriptions,首字母小写;官方论坛里的 ParametersPanelShowDescriptions 更像功能选项名或跨平台描述名。写代码时以当前包的类型定义和 IntelliSense 为准。
总结
核心不是参数控件坏了,而是参数面板默认展示信息变多了。对于需要保留变量说明、但不希望最终用户界面变高的项目,不要急着批量删除 Description。在 JS/Angular 侧使用 options.appearance.parametersPanelShowDescriptions = false,在 .NET Windows Viewer 侧使用 StiOptions.Viewer.Windows.ShowParameterDescription = false,就能把显示密度控制放回运行时配置层。
内容来源说明
- 官方问答来源:Stimulsoft Community Forum,
Variables filter display,官方支持人员于 2026-05-05 提到新增ParametersPanelShowDescriptions,并于 2026-05-15 补充 .NET 选项名。 - API 核查来源:
- https://forum.stimulsoft.com/viewtopic.php?p=176526
- https://www.stimulsoft.com/en/changes/reports-net/2026.2.3
- https://registry.npmjs.org/stimulsoft-reports-js/latest
- https://unpkg.com/stimulsoft-reports-js@2026.2.4/Scripts/stimulsoft.reports.d.ts
- https://unpkg.com/stimulsoft-dashboards-js@2026.2.4/Scripts/stimulsoft.reports.d.ts