Reportviewer不在ASPX页面中显示 - VB

时间:2013-10-03 13:25:13

标签: asp.net vb.net reportviewer

我的.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

可能导致此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题。我在.RDLC文件本身的报告数据的参数文件夹中添加了参数@fromDate和@toDate。我删除了这些,报告现在正确显示。