在做一张报表的时候,刚开始客户只要求提供5个参数 来查询,分别是2个日期,2个字符串,1个整数类型的参数,报表做好只有,没有问题.所有参数允许null,在 null的时候等于默认不带参数查询所有内容.后来客户又提出增加4个参数。
这次就出来问题了,这4个参数是布尔类型的,并且允许null,也就是说,每个参数有3种可能性,true,false和null.
然后默认参数区生成的控件对应每个布尔类型参数是 两个radiobutton和一个 checkbox,勾选checkbox,等于让参数为null,前面的radiobutton会灰掉,去掉checkbox的勾选会有效,在vs的里面没有任何问题,正常的不能再正常了.
但是部署之后,到报表服务器查看,就一切都坏了,报表第一次查询也没什么,但是就在查询了一次之后,再勾选checkbox前面的radiobutton和后面的checkbox会一起灰掉,不能再勾选回来了。T_T......纠结了一天,找不到问题所在.最终放弃了通过ReportService来修复这个问题,还是乖乖去存储过程中,将参数类型修改为整数,然后再中间做一个转换,在报表呈现页面使用了Droplist控件来呈现4个参数,当然现在参数都是整型的,传值都是 0,1,2.
本来以为终于可以松口气了,毕竟之前5个参数里面也有2个droplist参数了,都没有什么问题,但是事情往往不向我想的方向发展.
在vs里面测试的时候就发现,界面上参数区一共有6个droplist,但是其中有4个在改变值的时候会刷新"页面"(vs中预览的时候应该是form吧,不过还是会刷新),部署到报表服务器之后,每次改变那4个droplist的值,整个页面都会刷新,让我很无解,去网上搜了一圈,发现有人遇到这样问题了,不过他是因为参数之间互相依赖,有前置条件的缘故,而我的是单纯的每个参数对应一个字段。。。。。这让我。。。情何以堪.....T_T。。问题仍然未解决。。在此做个小小的记录,等解决了再补.