SSRS:GetReportParameters和日期值

时间:2011-12-13 16:10:20

标签: reporting-services parameters dependencies ssrs-2008

我有一个RDL文件,我在其中输入两个日期,根据该日期范围运行查询以填充下拉列表,然后使用基于下拉列表标签的默认值填充另一个文本字段列表的选定项目。

数据类型是前两个日期的日期/时间,下拉列表的文本和最后一个文本字段的文本。查询返回的下拉列表的值实际上是日期/时间,但如果我将数据类型设置为日期/时间,那么当我预览报表时(当我在列表中选择一个值时,它不能按预期工作)当前选择只是恢复为“<选择一个值>”,并且没有任何内容放在最后一个文本字段中,无论其数据类型如何。)

无论如何,如果下拉列表的数据类型为文本,则预览中的所有内容都可以正常工作。

问题是我有报告的自定义界面,并尽我所能,我无法得到我自己的实现来正确获取我上一个文本字段的默认值。

我注意到SSRS只想要某种格式的日期,所以通过对日期的一些操作,我可以通过调用GetReportParameters()并使用如下的Values参数设置来获取下拉列表参数的ValidValues:

values[0].Name = "fromdate";
values[0].Value = "2011-11-01 00:00:00";
values[0].Label = "";
values[1].Name = "todate";
values[1].Value = "2011-11-30 00:00:00";
values[1].Label = "";

parameters = GetReportParameters("myreport", null, true, values, null);

在此调用之后,参数[2]现在包含ValidValues,我可以在自定义UI中填充我自己的下拉列表。

但是,当我需要获取文本字段的默认值时,我似乎无法以GetReportParameters()接受的格式获取输入值:

values[0].Name = "fromdate";
values[0].Value = "2011-11-01 00:00:00";
values[0].Label = "";
values[1].Name = "todate";
values[1].Value = "2011-11-30 00:00:00";
values[1].Label = "";
values[2].Name = "datelist";
values[2].Label = "The date is 22nd Nov 2011";
values[2].Value = "2011-11-22 00:00:00";

parameters = GetReportParameters("myreport", null, true, values, null);

在此调用之后,我希望我的文本字段的参数具有我可以访问的DefaultValues值,但是将State设置为HasOutstandingDependencies为'null'。为什么是这样?已经设置了所有依赖项 - 就我所见,这是正确的,那么可能是什么问题?

我意识到我可能在日期/时间和文本之间转换数据类型时遇到了困难,但如果我尝试保持一致并使用日期/时间,那么即使在RDL中也无法使其工作预览,所以我不确定这是要走的路!

提前致谢。

0 个答案:

没有答案