我的.aspx页面(rvSuggestions)中有一个ReportViewer控件,我用它来显示报告(rptCountByUnit)。该报告使用数据源objdsCountByUnit,它使用存储过程(dsCountByUnit.xsd中的tableadapter)获取数据。存储过程接受参数@fromDate(从页面上的txtFrom传递)和@toDate(从页面上的txtTo传递)。
当我打开dsCountByUnit.xsd并预览数据时,我得到了我期望的结果,但是当我运行我的页面时,rvSuggestions不会显示。 DIV容器就像它在那里一样向下扩展,但是我只看到一个空白区域。
回发是由btnSubmit触发的,我已经按照this link的说明添加了下面的代码,但它没有解决问题(奇怪的是它确实解决了我一直在研究的另一个项目的问题)
rvSuggestions.Visible = True
rvSuggestions.ProcessingMode = ProcessingMode.Remote
rvSuggestions.ProcessingMode = ProcessingMode.Local
rvSuggestions.LocalReport.Refresh()
这是我的ReportViewer和Object数据源:
<rsweb:ReportViewer ID="rvSuggestions" runat="server" Font-Names="Verdana" Font-Size="8pt" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="870px" AsyncRendering="False">
<LocalReport ReportPath="Reports\rptCountByUnit.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="objdsCountByUnit" Name="rptDataSet" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="objdsCountByUnit" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="dsCountByUnitTableAdapters.getCountOfSuggestionsByUnitTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="txtFrom" Name="fromDate" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="txtTo" Name="toDate" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
这是我的存储过程:
CREATE PROCEDURE getCountOfSuggestionsByUnit
@fromDate nvarchar(50),
@toDate nvarchar(50)
AS
BEGIN
SET NOCOUNT ON;
SELECT unit, COUNT (ref) as Suggestions
FROM suggestion.dbo.suggestions
where dateRaised BETWEEN @fromDate and @toDate
group by unit
可能导致此问题的任何想法?
答案 0 :(得分:0)
我设法解决了这个问题。我在.RDLC文件本身的报告数据的参数文件夹中添加了参数@fromDate和@toDate。我删除了这些,报告现在正确显示。