我是Visual Studio 2010中RDLC报告的新手。
我在网站上工作,在此我使用了VS2010的报告功能。我用ReportViewer
来显示Report1.rdlc
。它完美地展示了它。现在我的要求是在运行时过滤报表中的数据。我通过this问题,但无法理解它的答案。
因为Report1.rdlc
在后面的代码中不可用。
如何过滤RDLC报告中的数据?
现在,我该如何在运行时过滤报表数据?
我是Visual Studio 2010中RDLC报告的新手。
我在网站上工作,在此我使用了VS2010的报告功能。我用ReportViewer
来显示Report1.rdlc
。它完美地展示了它。现在我的要求是在运行时过滤报表中的数据。我通过this问题,但无法理解它的答案。
因为Report1.rdlc
在后面的代码中不可用。
如何过滤RDLC报告中的数据?
现在,我该如何在运行时过滤报表数据?
你是如何从服务器等获得数据?你是否绑定到可数据结果?如果是这样,您可以在提取数据开始时应用过滤器,因此您不必在实际报告中执行任何特殊操作。
根据您的反馈,如果你得到一个数据表,然后应用过滤器应该很容易像
DataTable oDT = YourSQLCommandToGetData();
oDT.DefaultView.RowFilter = "SomeColumn = x and OtherColumn = y";
然后运行报告。如果你想要把它带到另一个层次,并确保你没有任何不需要的记录,你甚至可以做这样的事情
DataTable oNewFilteredResult = oDT.DefaultView.ToTable();
然后,您可以指定新表调用RDLC。
当然,您将数据集分配给rdlc报表,并在报表查看器的页面中,您将使用封装查询的对象数据源(以及用于包含数据表的XSD数据集)。
查询自然有其中条款,在其中插入您的参数作为筛选依据的数据,如:
WHERE (Table.Field = @Param OR @Param = A_Default_Value)
调用报告之前现在,添加你喜欢的页面控件(降),这些控件过滤映射到rdlc报告中的数据集的Object数据源,因此,报告将在点击某个按钮时被过滤,例如显示报告,刷新对象数据源(数据绑定)并在报告查看器中重新显示报告。
您可以考虑在RDLC assiging过滤控件的值参数,这样你就可以在生成它显示在其标题中报告的参数:
Parameters!ParameterName.Value
希望帮助你。
是的我绑定到一个数据表,但向导没有给任何查询选项。它只是询问表名。我正在使用SQL Server。 – jams 2012-03-24 20:48:09
@jams,看修改后的答案 – DRapp 2012-03-24 23:46:45