Stimulsoft参数面板自动显示变量Description如何关闭?

Stimulsoft参数面板自动显示变量Description如何关闭?

问题背景

在 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.parametersPanelShowDescriptionsStimulsoft Reports.NET官方2026.2.3变更日志也列出了StiOptions.Viewer.Windows.ShowParameterDescription,说明 .NET 侧开关已进入公开版本。

因此,可以把解决方向拆成两类:

  1. JS/Angular/前端 Viewer:在创建 Viewer 前,将options.appearance.parametersPanelShowDescriptions设为false
  2. .NET Windows Viewer:在 Viewer 初始化前,将StiOptions.Viewer.Windows.ShowParameterDescription设为false

JS / Angular 侧写法

在 Reports.JS 或 Dashboards.JS 中,官方论坛提到的是ParametersPanelShowDescriptions,而 TypeScript 定义中暴露的属性是小驼峰写法:parametersPanelShowDescriptions。它位于Stimulsoft.Viewer.StiViewerOptionsappearance对象下。

典型写法如下:

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值删掉。这个方法能让界面恢复简洁,但不建议作为首选。

原因有三个:

  1. Description本身可能有维护价值,删除后报表模板会丢失说明信息。
  2. 已有报表数量多时,逐个改模板风险高,也不利于回滚。
  3. 后续如果又希望在某些场景显示描述,模板里的信息已经被破坏。

更合理的做法是:保留变量定义,使用 Viewer 层的显示开关决定是否在参数面板呈现描述。模板负责表达业务含义,运行时界面负责控制展示密度。

排查清单

  1. 先确认当前版本。JS/Angular 项目检查stimulsoft-reports-jsstimulsoft-dashboards-js是否已经升级到包含parametersPanelShowDescriptions的构建;本次核查的2026.2.4类型定义中已经包含该属性。
  2. 搜索项目中创建StiViewerOptions的位置,确认是否设置了options.appearance.parametersPanelShowDescriptions = false
  3. 确认设置发生在 Viewer 创建、绑定报表、渲染之前。
  4. 如果 TypeScript 提示没有该属性,先检查安装包版本和导入的类型定义,不要直接用any绕过版本问题。
  5. .NET Windows Viewer 项目检查是否在应用启动或 Viewer 初始化前设置了StiOptions.Viewer.Windows.ShowParameterDescription = false
  6. 如果仍然显示描述,确认当前页面没有创建第二套 Viewer options,或在后续代码里又把该开关改回默认值。

版本与注意事项

  • 官方支持人员在 2026 年 5 月表示新增ParametersPanelShowDescriptions
  • stimulsoft-reports-js@2026.2.4的 TypeScript 定义中包含appearance.parametersPanelShowDescriptions
  • Stimulsoft Reports.NET2026.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