2015-04-24 126 views
0

有人可以幫我解決問題。我已經有了這個代碼,但我似乎無法將這兩者結合起來。 圖例:dt1 =數據集; crpt = Crystal報表文件時將文本框值傳遞給Crystal Report參數c#

這是我加載數據庫值與txtGender文本框的值過濾水晶報表代碼:

  SqlConnection conn = conString.getCon(); 
      ReportDocument cy = new ReportDocument(); 
      dt1 ds = new dt1(); 
      conn.Open(); 
      cy.Load(Application.StartupPath + @"\crpt.rpt"); 



      SqlDataAdapter da = new SqlDataAdapter("exec viewInfo @gen", conn); 
      da.SelectCommand.Parameters.AddWithValue("@gen", txtGender.Text); 


      da.Fill(ds.Info); 
      cy.SetDataSource(ds); 

      crystalReportViewer1.ReportSource = cy; 

      conn.Close(); 

雖然這是我傳遞文本框txtGender值碼到一個名爲「根」的水晶報表參數對象:

 ParameterFields pField = new ParameterFields(); 
     ParameterField pTitle = new ParameterField(); 
     ParameterDiscreteValue pValue = new ParameterDiscreteValue(); 

     pTitle.ParameterFieldName = "Gen"; //the name of the field @ Crystal Report 

     pValue.Value = txtGender.Text; //sending the text box value 
     pTitle.CurrentValues.Add(pValue); 
     pField.Add(pTitle); 

     crystalReportViewer1.ParameterFieldInfo = pField; 


     crpt objBT = new crpt(); 
     objBT.Refresh();    

     crystalReportViewer1.ReportSource = objBT; 

我的問題是我如何結合這兩個代碼,這樣,當我在文字框中輸入值,將數據庫值加載到水晶回購rt並將文本框的值傳遞給Crystal報表參數對象「Gen」。我試過結合這些代碼,但它會提示「參數值不正確」。任何人?

回答

0

我希望以下參考鏈接將有助於您的問題。

C# Crystal Reports String parameter

+0

嗨,我已經通過對我所發佈的代碼的第一部分中的文本框做了記錄的篩選。我的問題是如何將文本框中找到的表單的值轉換爲Crystal報表文本對象的Header。順便說一句,謝謝你的回答。 –

+0

@JustinAizengard:如果您只使用該參數來填充報表上的文本框,則有更簡單的方法可以實現。你可以使用'((CrystalDecisions.CrystalReports.Engine.TextObject)Report.ReportDefinition.ReportObjects [「nameOfTextBoxInReport」]).Text'來設置文本框的值 – jjj

相關問題