[]
报表设计中经常需要设置报表参数,目的是允许报表用户对报表数据进行过滤,报表参数往往就是报表数据的查询条件。设置报表参数的具体方法参见 报表参数与数据过滤。
如果报表是带参数的,并且希望从业务系统页面直接将参数值传给报表,免去用户输入参数值的麻烦,可通过下面的方法,在URL中追加报表参数内容。
追加到URL中的报表参数为如下形式:
&dp={"参数1名称":["参数1值1","参数1值2","参数1值3"],"参数2名称":["参数2值1","参数2值2","参数2值3"]}
其中:
(a)&dp={}是固定的QueryString内容,大括号内为参数内容。
(b)多个参数之间用逗号分隔。
(c)参数名称与参数值之间以冒号分隔。
(d)参数名与参数值须用双引号括起来(若参数值为整型则不需要引号)。
(e)即使是单值参数,其参数值也需要用方括号括起来。
(f)追加到URL字串之前,应使用工具或代码,对追加内容进行URL编码。
例如:
&dp={"TypeID":[1,3,6],"pname":["汁"]}
以上字串设置了两个参数:TypeID和pname,前者是多值参数,参数值为三个整数(1,3,和6)构成的数组;后者是单值参数,参数值为字符串“汁”。
注意
为了防止参数串中的内容导致URL非法,必须将参数字串经过URLEncode编码。
网上有在线URL编码工具,例如:http://tool.chinaz.com/tools/urlencode.aspx
上面的字串
{"TypeID":[1,3,6],"pname":["汁"]}
经过URL编码,结果如下:
%7b%22TypeID%22%3a%5b1%2c3%2c6%5d%2c%22pname%22%3a%5b%22%e6%b1%81%22%5d%7d
在原始默认的URL末尾追加参数内容之后,得到的URL字串如下:
http://localhost:51980/reports/view/5baf8217833e980003e3c4ea/?display=singlepage&theme=default&dp=%7b%22TypeID%22%3a%5b1%2c3%2c6%5d%2c%22pname%22%3a%5b%22%e6%b1%81%22%5d%7d