2016-08-19 26 views
4

これは私の最初の質問です。MVC 5 rdlcレポートでオブジェクトを使用する方法

私は、VS Community 2015とEntity Framework 6を​​使用したMVC 5プロジェクトを使用しています。私は、データモデリングのためのコードの最初の移行を使用します。

私は既にそれぞれのビューを使用してレポートを作成しています。各ビューは、レポートをHTML5 Webページとして表示するためにC#モデルを使用します。

出力をpdf、word、excelに送信する必要があります。そのためにRDLCを使用しますが、オブジェクトモデルをデータセットとして設定する方法はわかりません。このアイデアは、レポート作成のためにビューを使用している同じオブジェクトを送信します。レポートのデータはありません。

どのようなアイデアや提案やチュートリアルをすればいいですか?

私はRDLCにとって非常に新しく、データセットを使用することはありません。

おかげ

答えて

4

あなたは、PDFやHTMLにRDLCをレンダリングするためのReportViewerのオブジェクトを使用することができます。私の場合(下記)、私はPDFドキュメントが欲しかったので、FileContentResult ActionResultとして返しました。あなたがそれをダウンロードとして返すには、File ActionResultを使用してください(あなたの使用のためにコメントしました)。

public ActionResult GetPackingSlipPDF(int shipmentId) 
    { 
     var shipment = _inboundShipmentService.GetInboundShipmentById(shipmentId); 

     Warning[] warnings; 
     string mimeType; 
     string[] streamids; 
     string encoding; 
     string filenameExtension; 

     var viewer = new ReportViewer(); 
     viewer.LocalReport.ReportPath = @"Labels\PackingSlip.rdlc"; 

     var shipLabel = new ShippingLabel { ShipmentId = shipment.FBAShipmentId, Barcode = GetBarcode(shipment.FBAShipmentId) }; 

     viewer.LocalReport.DataSources.Add(new ReportDataSource("ShippingLabel", new List<ShippingLabel> { shipLabel })); 
     viewer.LocalReport.Refresh(); 

     var bytes = viewer.LocalReport.Render("PDF", null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings); 

     return new FileContentResult(bytes, mimeType); 

     //return File(bytes, mimeType, shipment.FBAShipmentId + "_PackingSlip.pdf"); 
    } 

Rendering an RDLC report in HTML in ASP.NET MVC

+0

おかげムハンマド!、ここに私のために新しいものを学ぶことがたくさんがあります。 –

+0

rdlcレポートはどのように設計するのですか?それはデータセットまたはデータソースを要求します...私はSQLへのデータ接続を使用するように強制しますが、データソース用のC#Model Objectが必要です。 –

関連する問題