1

レポートビューアプレビューは空に表示されますが、エクスポートと印刷は正常に動作します。Visual Studio 2010、ローカルSSRSレポートビューア14、プレビューは空ですが、エクスポートと印刷が正常に動作します

私はちょうどこれの上に私の知恵の終わりです。私は、既存のSSRSレポートに変更を加える必要があります。すべての部分が仕事をしているように見えますが、レポートビューアがレポートの正しいデータを取得していても、最後の結果は空のレポートになります。 (脚注:報告書は "ByGroup"と呼ばれていましたが、私はそれを "ByFields"に変更して、既存の報告書が依然として独自に機能するようにしています。これはいくつかの問題の原因かもしれませんが、

プロジェクトでは、WebサイトのApp_Codeフォルダに保存されている別の.xsdファイルで宣言されているデータテーブルを使用しています。データテーブルはストアドプロシージャを呼び出し、列はすべて存在し、FillメソッドとGetDataメソッドが配置されています。データテーブル「プレビューデータ」オプションを使用すると、データテーブルが正しいことを確認し、正しいデータを返すことができます。それが適切であれば、これ以上のデータを提供することができます。

私たちのレポートの.aspxのファイルには、レポートビューア14の正しい登録タグがあります。

<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %> 

私たちは、TableAdapterの定義にリンクのObjectDataSourceを使用している:

<asp:ObjectDataSource ID="EventListingByGroup_DataInstance" runat="server" 
    OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" 
    TypeName="AEMSReports.dsAEMSReportsTableAdapters.AEMSReports_056_EventListingByFieldsTableAdapter"> 

<SelectParameters>要素が正確に宣言しますストアドプロシージャに供給するすべてのパラメータ

次のようにレポートビューアーが定義されている:.aspx.csをPage_Loadルーチンで

<rsweb:ReportViewer ID="rvEventListingByGroup" runat="server" Font-Names="Verdana" 
    Font-Size="8pt" Height="100%" Width="850px" AsyncRendering="False" 
    ClientIDMode="AutoID" InternalBorderColor="204, 204, 204" InternalBorderStyle="Solid" 
    InternalBorderWidth="1px" ToolBarItemBorderStyle="Solid" ToolBarItemBorderWidth="1px" 
    ToolBarItemPressedBorderColor="51, 102, 153" ToolBarItemPressedBorderStyle="Solid" ToolBarItemPressedBorderWidth="1px" 
    ToolBarItemPressedHoverBackColor="153, 187, 226" > 
    <LocalReport ReportPath="reports\Counts_Listings\EventListingByFields056.rdlc"> 
     <DataSources> 
      <rsweb:ReportDataSource DataSourceId="EventListingByGroup_DataInstance" Name="dsAEMSReports_AEMSReports_056_EventListingByFields" /> 
     </DataSources> 
    </LocalReport> 
</rsweb:ReportViewer> 

、我々はこのコードを持っている: Our report's .rdlc looks like this

if (!IsPostBack) 
{ 
    // Set hidden fields on the form for the Select parameters... 
    tbFromDate.Text = Request.Form["txtFromDate"].Trim(); 
    // ...clip... 
    rvEventListingByGroup.Attributes.Add("style", "margin-bottom: 30px;"); 
    rvEventListingByGroup.Visible = true; 

    string[] path = HttpContext.Current.Request.Url.AbsolutePath.Split('/'); 
    string reportPath = ""; 
    int length = path.Length; 
    for (int i = 1; i < length - 1; i++) 
    { 
     if (path[i] == "Reports") 
     { 
      for (int j = i; j < length - 1; j++) 
      { 
       reportPath += path[j] + "/"; 
      } 
     } 
    } 
    rvEventListingByGroup.LocalReport.ReportPath = reportPath + "EventListingByGroup056.rdlc"; 
    rvEventListingByGroup.LocalReport.Refresh(); 
} 

私たちのレポートの.rdlcは次のようになります結果は次のようになります。 the resulting output looks like this

I hav SQL Server Profilerを使用して、レポートビューアがページを読み込んだときに、必要なすべてのデータを返すために正しいパラメータを指定してSQL Serverを呼び出していますが、データはページに表示されません。私はフッターがないことも知っているし、ページングを管理する設定もないので、それを修正するまで「1の1」を読むだろうが、私が期待しているのは(テストケースでは)150行生データの価値

誰も私がこれで逃したかもしれないものについての提案を提供できますか?

ありがとうございます。これは簡単な変更だと思っていましたが、レポートライター(スタッフ)が退社して以来、これらの変更を短期間で手に入れるために必要なスキルは必要ありません...

+0

Excelへのエクスポートと印刷オプションが適切なコンテンツを出力することを確認しました。それは、ビューアにはコンテンツが表示されないということだけです。 – Dan

答えて

0

this link from social.msdnのおかげで私の答えが見つかりました。 .aspxファイルのReportViewer宣言にSizeToReportContent="true"を追加し、出力がプレビューアで正しくレンダリングされました。それがなければ、コンテンツはレンダリングされず、後で、それはすべてそこにありました!

関連する問題