问题背景
在 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对象下。
典型写法如下:
constoptions=newStimulsoft.Viewer.StiViewerOptions();options.appearance.parametersPanelShowDescriptions=false;constviewer=newStimulsoft.Viewer.StiViewer(options,"StiViewer",false);viewer.report=report;viewer.renderHtml("viewer");关键是设置时机:要在创建 Viewer 或渲染 Viewer 之前完成。参数面板已经渲染后再改这个值,通常还需要重新创建或刷新 Viewer,才会反映到当前 UI。
如果项目封装了 Angular 组件,可以把这段逻辑放在创建 viewer options 的位置,而不是散落到报表模板里:
privatecreateViewerOptions():Stimulsoft.Viewer.StiViewerOptions{constoptions=newStimulsoft.Viewer.StiViewerOptions();options.appearance.parametersPanelShowDescriptions=false;returnoptions;}这样做的好处是,所有通过该组件打开的报表都会采用同一策略,不需要逐个删除变量的Description。
.NET Viewer 侧写法
如果使用的是 .NET Windows Viewer,官方变更日志给出的选项是:
StiOptions.Viewer.Windows.ShowParameterDescription=false;建议在创建或显示 Viewer 之前设置,例如:
usingStimulsoft.Report;StiOptions.Viewer.Windows.ShowParameterDescription=false;varreport=newStiReport();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