0

我的 .aspx 页面 (rvSuggestions) 中有一个 ReportViewer 控件,用于显示报告 (rptCountByUnit)。该报告使用数据源 objdsCountByUnit,它使用存储过程(dsCountByUnit.xsd 中的 tableadapter)获取数据。存储过程接受参数@fromDate(从页面上的txtFrom 传递)和@toDate(从页面上的txtTo 传递)。

当我打开 dsCountByUnit.xsd 并预览数据时,我得到了我期望的结果,但是当我运行我的页面时,没有显示 rvSuggestions。DIV 容器就像它在那里一样向下扩展,但是我只看到一个空白区域。

回发是由 btnSubmit 触发的,我已经添加了以下代码,如该链接中所述,但是它没有解决问题(奇怪的是,它确实解决了我一直在从事的另一个项目的问题)

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

有什么想法可能导致这种情况吗?

4

1 回答 1

0

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

于 2013-10-04T08:04:59.960 回答