Report Server multiple value 多值选择

一、项目需求

  今天在做项目的时候,有一个需求,具体如下:在Report Server中存在一个报表,报表中有一个参数doctor_name,该参数允许多值,默认全部。但是由于前端页面医生选择时多选没有意义,因此,需要单选,但是在其他页面中存在多选的需求,因此这里还将doctor_name设置为allow multiple values。因此,具体需求为,前端页面选择一个医生时,就查询该医生的报表信息,但未选择任何医生时,就默认选择全部医生(相当于多值)。

二、解决方案

  我们设置数据集查询语句

SELECT  ... FROM ...    WHERE   (yourcolumname IN (@doctor_name))

  设置数据集的为参数表达式

  参数表达式为:

=SPLIT(JOIN(Parameters!doctor_name.Value,","),",")

此时,在前端aspx页面的后台,我们就可以传过来一个数组了

 string[] doctorlist = new string[this.lbxListDoctor.Items.Count];
 for (int i = 0; i < this.lbxListDoctor.Items.Count; i++)
 {
     doctorlist[i] = this.lbxListDoctor.Items[i].Value;
 }
 var rpdoctor = new Microsoft.Reporting.WebForms.ReportParameter("doctor_name", doctorlist);
 serverReport.SetParameters(rpdoctor); 
时间: 2024-08-27 11:38:49

Report Server multiple value 多值选择的相关文章

从性能的角度谈SQL Server聚集索引键的选择

简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要了.本文从旨在从性能的角度来谈聚集索引的选择,但这仅仅是从性能方面考虑.对于有特殊业务要求的表,则需要按实际情况进行选择. 聚集索引所在的列或列的组合最好是唯一的 这个原因需要从数据的存放原理来谈.在SQL Server中,数据的存放方式并不是以行(Row)为单位,而是以页为单位.因此,在查找数据时,S

Step by step Install a Local Report Server and Remote Report Server Database

原创地址:http://www.cnblogs.com/jfzhu/p/4012097.html 转载请注明出处 前面的文章<Step by step SQL Server 2012的安装 >中,介绍过如何安装SQL Server 2012,其中的Database Engine Services和Reporting Services - Native安装在了同一台服务器上,但是为了提高性能,我们可以将Database Engine与Reporting Service分别安装在不同的服务器上.

笔试算法题(55):快速排序实现之非递归实现,最小k值选择(non-recursive version, Minimal Kth Selection of Quick Sort)

议题:快速排序实现之五(非递归实现,短序列优先处理,减少递归栈大小) 分析: 算法原理:此算法实现适用于系统栈空间不足够快速排序递归调用的需求,从而使用非递归实现快速排序算法:使用显示下推栈存储快速排序中的每一次划分结果 (将left和right都压入堆栈),并且首先处理划分序列较短的子序列(也就是在得到一次划分的左右部分时,首先将长序列入栈,然后让段序列入栈), 这样可以保证当快速排序退化的线性效率的时候,栈大小仍旧在㏒N范围内.算法策略类似于最小子树优先遍历规则: 弱势:当序列已经就绪,每次

SQL Server 2012 The report server cannot open a connection to the report server database

案例环境: 操作系统版本:    Windows Server 2012 R2 Standard 数据库版本  :    SQL SERVER 2012 SP2 案例介绍: 今天进入一台新安装的SQL Server服务器的Reporting Service管理界面时,出现如下错误信息 The report server cannot open a connection to the report server database. A connection to the database is r

利用InfoPath实现SharePoint Server 2013列表的级联选择(Cascading Drop Down List)

最近在利用SharePoint Server 2013的列表组织和存储数据,发现SharePoint列表原始不支持级联选择的功能. 谷歌百度一通以后,发现了很多通过代码实现的方案,利用第三方的插件spservices的http://spservices.codeplex.com/releases/view/119578,或者自己编段代码的http://www.cnblogs.com/jianyus/p/3812758.html(JQuery+JavaScript),但觉得都不太理想.最后发现可以

SQL Server 2008 R2中,“选择前1000行”为“选择所有行”

从SQL Server 2008开始,微软为了提高查询效率等原因,右键点击表时弹出菜单中默认没有"显示所有行",而以"选择前1000行"替代. 点击[工具]->[选项]

13 三种方式替换SQL Server中的NULL值(Different ways to replace NULL in Sql Server)

在Sql Server中有三种方式对查询结果中的NULL值进行替换. 如有下面的一张表: 我们可以通过自连接(Self-Join)的方式一张员工名和其对应的经理名的表: SELECT E.[Name],M.[Name] FROM [tblEmployee] AS E LEFT JOIN [tblEmployee] AS M ON E.ManagerId = M.EmployeeId 我们可以看到,Todd对应的Manger为NULL,这说明Todd应该是公司的最高层,他没有经理.但是这样显示很不

form表单select的选项值选择

html: <form action=""> <p>选择城市</p> <p> <select name="" id="cont"> <option value="北京" order="1">北京</option> <option value="上海" order="2">上

安装SQL Server出现未能将值CLSID写入项\Software\Classes\PROTOCOLS\Handler\ms-help的错误

在安装SQL Server会出现一个未能将值CLSID写入项\Software\Classes\PROTOCOLS\Handler\ms-help的错误. 解决方案: 运行输入Regedit 把HKEY_LOCAL_MACHINE\Software\Classes右键权限加上system用户并赋予完全控制权限,如图: 保存确定重新安装SQL就可以了.