Я обновил свой .RDLC с VS 2008 до VS 2010, и теперь при запуске отчета страница пуста. - PullRequest
0 голосов
/ 15 марта 2011

Сначала проблема, с которой я столкнулся, была легко найдена, затем я добавил Диспетчер сценариев, как было предложено, и это привело к исчезновению ошибки. Теперь он просто не рендерится.

Это очень простой отчет. Когда я сначала не «скрываю» отчет, он будет отображаться, но время ожидания истекло, поэтому я знаю, что оно будет работать. Похоже, я столкнулся с каким-то типом асинхронной проблемы, переходящей с SSRS 2008 и SSRS 2010. Я пробовал различные свойства с помощью панели обновления и асинхронного рендеринга, но это не помогло.

Вот мой основной код

    <rsweb:ReportViewer ID="ReportViewer2" runat="server" Font-Names="Verdana" Visible="false"
        Font-Size="8pt" Height="564px" Width="1055px" >
        <LocalReport ReportPath="Reports/SingleUK.rdlc">

            <DataSources>
                <rsweb:ReportDataSource DataSourceId="MainSqlDataSource" Name="DataSet1" />
            </DataSources>
        </LocalReport>
    </rsweb:ReportViewer>



<asp:SqlDataSource ID="MainSqlDataSource" runat="server" 
    ConnectionString="<%$ ConnectionStrings:AncillaryProductionConnectionString %>" 
    SelectCommand="packsheets.procUKPacksheets" 
    SelectCommandType="StoredProcedure" 
    onselecting="MainSqlDataSource_Selecting">
    <SelectParameters>
        <asp:FormParameter Type="Int32" DefaultValue="" 
            FormField="StatusDropDownList" Name="Status" />
        <asp:FormParameter Type="Int32" DefaultValue="" FormField="HoldDropDownList" 
            Name="Hold" />
        <asp:FormParameter Type="Int32" DefaultValue="0" 
            FormField="NoteCategoryDropDownList" Name="Notes" />
        <asp:FormParameter Type="Int32" DefaultValue="0" 
            FormField="ShippingGroupDropDownList" Name="ShMeth" />
        <asp:Parameter Direction="ReturnValue" Name="RETURN_VALUE" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

и код позади

protected void Page_Load(object sender, EventArgs e)
    {
        //if (!Page.IsPostBack)
        //{
        //    this.ReportViewer2.Visible = false;
        //}
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        this.ReportViewer2.Visible = true;
        this.ReportViewer2.LocalReport.Refresh();

    }

    protected void MainSqlDataSource_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
    {
        if (e.Command.Parameters["@Status"].Value == null)
        {
            e.Command.Parameters["@Status"].Value = DBNull.Value;
        }
        if (e.Command.Parameters["@Hold"].Value == null)
        {
            e.Command.Parameters["@Hold"].Value = DBNull.Value;
        }
    }
}

Кто-нибудь имеет представление о том, что еще я мог бы попробовать?

Заранее спасибо!

1 Ответ

0 голосов
/ 23 марта 2011

Отчеты SSRS, написанные в Visual Studio, немного похожи на Vegas.То, что происходит в этой версии Visual Studio, остается в этой версии Visual Studio.

К сожалению, чтобы перейти с VS 2008 на VS 2010, вам нужно переписать свой отчет .rdlc с нуля.(То же самое относится и к VS 2005 по VS 2008.)

Вот соответствующее сообщение на форуме MSDN на эту тему: http://social.msdn.microsoft.com/forums/en-US/sqlreportingservices/thread/9a7a78a0-bf5c-458a-9cb0-bc82004501f7

Надеюсь, это поможет,

- Dubs

...