2017-01-20 5 views
0

このアプリケーションでは、エンドユーザーは1つのフォームに必要なRMA情報を入力し、それをレポートビューに読み込んで印刷するオプションを持っています。このデータベースは数年前に結ばれていたので、ヌル値は[Area Of Repair]列にあります。私が必要としているのは、ヌル値が検出された場合、 "area"のパラメータ値を "unknown"に設定する方法を理解することです。以下は、使用されている現在のメソッドのコードです。ReportParameterでのNull値の処理

public void GenerateServiceReport(string[] RMArray, string TempDataset, DataTable Results) 
    { 

     serviceReportViewer.LocalReport.ReportPath = "D:\\vsprojects\\projects\\emsdashboard\\emsdashboard\\RMAServiceReport.rdlc"; 

     ReportParameter dateReceived = new ReportParameter("DateParameter", RMArray[0]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { dateReceived }); 
     ReportParameter rmaNumber = new ReportParameter("RMAParameter", RMArray[1]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { rmaNumber }); 
     ReportParameter workOrder = new ReportParameter("WorkOrderParameter", RMArray[2]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { workOrder }); 
     ReportParameter qty = new ReportParameter("qtyParameter", RMArray[3]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { qty }); 
     ReportParameter company = new ReportParameter("CompanyParameter", RMArray[4]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { company }); 
     ReportParameter customer = new ReportParameter("CustomerParameter", RMArray[5]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { customer }); 
     ReportParameter ecn = new ReportParameter("ecnParameter", RMArray[6]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { ecn }); 
     ReportParameter warranty = new ReportParameter("WarrantyParameter", RMArray[7]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { warranty }); 
     ReportParameter action = new ReportParameter("ActionParameter", RMArray[8]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { action }); 
     ReportParameter part = new ReportParameter("PartParameter", RMArray[9]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { part }); 
     ReportParameter area = new ReportParameter("AreaParameter", RMArray[10]); 
     serviceReportViewer.LocalReport.SetParameters(new ReportParameter[] { area }); 

     serviceReportViewer.LocalReport.DataSources.Clear(); 
     serviceReportViewer.LocalReport.DataSources.Add(new ReportDataSource(TempDataset, Results)); 
     serviceReportViewer.RefreshReport(); 
    } 

ます。private void RMAServiceReport_Load(オブジェクト送信者、EventArgsの電子) {

 this.serviceReportViewer.RefreshReport(); 
     this.serviceReportViewer.RefreshReport(); 
     this.serviceReportViewer.RefreshReport(); 
    } 
+0

ようarea変数の行を宣言変更?それもリフレッシュする必要はありますか? – Phil1970

+0

レポートに特別な値を表示する場合は、条件をRDLCに入れるか、データを入力するときに適切な文字列を準備する必要があります。通常は些細な条件を除いて、私はRDLCから使いやすい形式でデータを準備する方が簡単でクリーンであると思います。 – Phil1970

答えて

0

あなたが行でレポートを3回更新しますなぜこの

ReportParameter area = new ReportParameter("AreaParameter", RMArray[10] ?? "unknown"); 
+0

回答したすべての方にありがとうございます。 – TAdams79

関連する問題