C# 部署基于传入ReportViewer的参数填充数据集的报表
我不熟悉reporting services和在aspx C中使用report viewer控件。我目前正在从事一个项目,需要根据地区填充报告。我正在使用SQL Express 2008 R2 我在报告中创建了一个region参数,该参数使用以下查询填充数据集: 选择RegionUID,RegionDescription 来自乌得勒吉 然后,这将创建一个包含可用值的DropDownList,然后我在主报告数据集中使用它来根据所选区域获取结果 我遇到的问题是,我的应用程序中的用户被分配到区域,根据谁登录了我的应用程序,应该限制哪些区域可以通过reporting services访问。我可以通过report viewer将参数从我的应用程序传递到reporting services中的报表,但当我尝试向用于填充region DropDownList的数据集添加参数时,部署时会出现以下错误: 报表“/report name”的定义无效 预览时出现以下错误: 报表参数“RegionUID”具有一个依赖于报表参数RegionUID的DefaultValue”或ValidValue。前向依赖项无效 我使用区域参数的查询: 选择RegionUID,RegionDescription 来自乌得勒吉 其中RegionGUID=@RegionGUIDC# 部署基于传入ReportViewer的参数填充数据集的报表,c#,asp.net,reporting-services,ssrs-2008,C#,Asp.net,Reporting Services,Ssrs 2008,我不熟悉reporting services和在aspx C中使用report viewer控件。我目前正在从事一个项目,需要根据地区填充报告。我正在使用SQL Express 2008 R2 我在报告中创建了一个region参数,该参数使用以下查询填充数据集: 选择RegionUID,RegionDescription 来自乌得勒吉 然后,这将创建一个包含可用值的DropDownList,然后我在主报告数据集中使用它来根据所选区域获取结果 我遇到的问题是,我的应用程序中的用户被分配到区域,根据
您应该检查@RegionGUID参数的属性,特别是DefaultValue或ValidValue选项卡。其中一个或两者都可能依赖于在其查询中使用参数本身的数据集。在使用某个参数本身时,无法查询该参数的默认值或有效值 可用值的典型查询为: 选择DISTINCT RegionUID-作为值 ,RegionDescription-用于标签 来自乌得勒吉 -No where子句,您不能或需要使用参数本身
默认值的查询可能相同,可能只使用第一个。。。值、NULL或基于不使用参数本身的其他数据集,我在以下站点找到了解决问题的方法: 正如Jason Selburg在上述链接中所述,参数列表的顺序似乎很重要 为了使我的申请生效,我做了以下工作: 已删除我的现有RegionUID参数 添加了一个名为UserAssignedRegion的新参数,其可用值为not specified,可见性为hidden 重新添加my RegionGUID参数visibility:visible并将其设置为使用以下查询: 查询:
SELECT RegionGUID, RegionDescription
FROM utRegions
WHERE RegionGUID = @UserAssignedRegion
如果在部署时收到一个无效的错误报告,则可能还有另一个问题。数据集中的字段很可能已更改,但报表中的某些单元格或其他项仍在引用已编辑/删除的字段。如果你运行一个关于定义有什么问题的预览,它不会提供额外的细节吗?我已经用错误的更多细节更新了这个问题。我没有在报告正文的任何地方引用该参数,我只在用于填充RegionDropDownList和报告数据集的数据集中使用它感谢您的帮助Jeroen