2013-08-05 55 views
0

我有一個報表裏面的子報表,我將一個參數傳遞給子報表tutorUsername。 我的代碼時,創建報表是這樣的:如何過濾子報表中的數據RDLC

reportViewer1.LocalReport.ReportPath = (reportPath + "TestReport.rdlc"); 
reportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(prcProcessSubReport); 
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("test_DataSet", report)); 
ReportParameter[] tmpParameters = new ReportParameter[1]; 
tmpParameters[0] = new ReportParameter("serverNames", serverNamesList, false); 
reportViewer1.LocalReport.SetParameters(tmpParameters); 

和:

private void prcProcessSubReport(object sender, SubreportProcessingEventArgs e) 
    { 
    try 
     { 
     string tutorUserName = e.Parameters["tutorusername"].Values[0].ToString(); 
     ReportDataSource rdsTradeDetails = new ReportDataSource("Test_DataSet", report); 
     e.DataSources.Add(rdsTradeDetails); 
     //Code End 
     } 
     catch (Exception eX) 
     { 

     } 

    } 

現在的問題是我得到的參數valye但其(Fields!Tutor_Username.Value, \"TEST_DataSet\")。我假設這種方式我會得到每個教師的用戶名,我會創建/過濾數據與參數,並相應地添加。任何幫助?我做錯了什麼是有一些其他的方式來獲取參數值?

回答

0

IT很簡單不得不這樣做:

string tutorUserName = (e.Parameters["tutorusername"].Values.First()).ToString(); 
ReportDataSource rdsTradeDetails = new ReportDataSource("Test_DataSet", report); 
e.DataSources.Add(rdsTradeDetails);