2017-06-09 9 views
0

私はC#rdlcレポートを使用しています。バイトを生成するコード行に達したときにエラーが発生しました。mimetypeが空で、null例外が発生しました 誰でもこのことを助けますか?紛失しています。RdlcレポートはrenderReportでnullを返します

 string mimeType =""; 
     long? plantId = 0; 
     LocalReportModel reportModel = new LocalReportModel() 
     { 
      ExportFileName = "ChangeRequestReportDoc", 
      Format = (reportAction == ReportActionType.ExportPDF ? LocalReportFormat.PDF : (reportAction == ReportActionType.ExportExcel ? LocalReportFormat.Excel : LocalReportFormat.Word)), 
      Name = "ChangeRequestReportDoc", 
      ReportEmbeddedResource = "A.HQM.Reports.ChangeRequestDocument.rdlc" 
     }; 


     if (Cache.LoggedInUserModel() != null) 
     { 
      var loggedInUser = Cache.LoggedInUserModel(); 
      plantId = loggedInUser.SelectedPlant; 
     } 

     TrainingReportFilterModel model = new TrainingReportFilterModel() 
     { 
      FromDate = fromDate, 
      ToDate = toDate,  
      PlantId = plantId 
     }; 


     List<A.HQM.BL.Entities.ChangeRequestData.ChangeRequest> reportData = ChangeRequestProvider.ChangeReport(model.FromDate, model.ToDate, plantId 
                ).ToList(); 


     DataSet dataset = new A.HQM.Reports.ChangeRequest.ChangeRequestData(); 
     DataTable tableToAdd = dataset.Tables["ChangeRequestReport"]; 

     foreach (A.HQM.BL.Entities.ChangeRequestData.ChangeRequest found in reportData) 
     { 
      DataRow dataRow = tableToAdd.NewRow(); 
      dataRow.SetField("Comments", found.Comments); 
      dataRow.SetField("CRSummary",found.CRSummary); 
      dataRow.SetField("Status",found.Status); 
      dataRow.SetField("ChangeRequestDate", found.ChangeRequestDate);    
      tableToAdd.Rows.Add(dataRow); 
     } 

     reportModel.DataSets.Add(new LocalReportDataSet() { DataSetData = tableToAdd, DatasetName = "ChangeRequestData" }); 

     byte[] renderedBytes = reportModel.RenderReport(out mimeType); 
     return File(renderedBytes, System.Net.Mime.MediaTypeNames.Application.Octet, reportModel.FileName); 

答えて

0

RenderReportメソッドに必要なすべてのパラメータを渡していない可能性がありますか?

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

byte[] renderedBytes = reportModel.RenderReport(
    "PDF", null, out mimeType, out encoding, out filenameExtension, 
    out streamids, out warnings); 
+0

ありがとうございました。 – user4261104

+0

素晴らしい。あなたの解決策は何ですか? – Joseph

+0

私は、rdlcデザイナーのデータセット名とは異なるデータセット名を持っていました – user4261104

関連する問題