2011-12-22 198 views
0

我很難弄清楚如何查看或看到從Visual Studio 2010 C#到水晶報表的值。這是我想查看我的水晶報表中的報表將價值傳遞給水晶報告

As of ????(4:30PM): ????(December), ????(2011) 
Juan Dela Cruz 
Count: 10 
Score: 5 
Grade: ????(50.00) 

以下代碼是我的按鈕SEARCH以查找此特定員工的摘要。

  try 
      { 
       econ = new SqlConnection(); 
       econ.ConnectionString = emp_con; 
       econ.Open(); 
       float iGrade = 0; 
       float Grade = 0.00F; 
       string Log_User; 
       float Count, Score; 
       string date = DateTime.Now.ToShortTimeString(); 
       ecmd = new SqlCommand("SELECT Log_User, Count = COUNT(Det_Score), Score = SUM(Det_Score) FROM MEMBER M,DETAILS D WHERE D.Emp_Id = M.Emp_Id AND Log_User like" + "'" + Convert.ToString(comEmployee.Text) + "'AND Month(Sched_Start) =" + "'" + Convert.ToInt32(iMonth) + "'AND Year(Sched_Start) =" + "'" + Convert.ToInt32(txtYear.Text) + "'GROUP BY Log_User", econ); 
       ecmd.CommandType = CommandType.Text; 
       ecmd.Connection = econ; 
       dr = ecmd.ExecuteReader(); 
       while (dr.Read()) 
       { 
        if (dr == null || !dr.HasRows) 
        { 
         MessageBox.Show("No record found.", "Error"); 
        } 
        else 
        { 
         Log_User = (string)dr["Log_User"]; 
         Count = (dr["Count"] as int?) ?? 0; 
         Score = (dr["Score"] as int?) ?? 0; 
         try 
         { 
          iGrade = Score/Count; 
          Grade = iGrade * 100; 
         } 
         catch (DivideByZeroException) 
         { 
          Console.WriteLine("Exception occured"); 
         } 
        } 
       } 
       econ.Close(); 

下面的代碼是我的水晶報表,從我的數據庫中獲取的值:這些包括:LOG_USER,月,年..

   ParameterFields myParams = new ParameterFields(); 

       ParameterField name = new ParameterField(); 
       ParameterDiscreteValue valName = new ParameterDiscreteValue(); 
       name.ParameterFieldName = "@Log_User"; 
       valName.Value = comEmployee.Text; 
       name.CurrentValues.Add(valName); 
       myParams.Add(name); 

       ParameterField month = new ParameterField(); 
       ParameterDiscreteValue valMonth = new ParameterDiscreteValue(); 
       month.ParameterFieldName = "@Month"; 
       valMonth.Value = Convert.ToInt32(iMonth); 
       month.CurrentValues.Add(valMonth); 
       myParams.Add(month); 

       ParameterField year = new ParameterField(); 
       ParameterDiscreteValue valYear = new ParameterDiscreteValue(); 
       year.ParameterFieldName = "@Year"; 
       valYear.Value = Convert.ToInt32(txtYear.Text); 
       year.CurrentValues.Add(valYear); 
       myParams.Add(year); 

       crystalReportViewer1.ParameterFieldInfo = myParams; 

       crystalReportViewer1.ReportSource = CrystalReport81; 

      } 
      catch (Exception x) 
      { 
       MessageBox.Show(x.GetBaseException().ToString(), "Connection Status", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      } 
     } 

我想要的是查看我的輸入參數在報告中還有等級..(所有的值都有?) 我知道有人可以幫我弄清楚。之後,我完成了我的項目。

回答

0
TextObject yr = (TextObject)CrystalReport81.ReportDefinition.Sections["Section3"].ReportObjects["Text1"]; 
       yr.Text = txtYear.Text; 

FORM文本框 - >水晶報表文本框

通過添加上面的代碼將使您能夠顯示您在文本框中輸入的值..但首先你應該有一個空的文本框在Crystal報表因爲這會趕上你從你的FORM Textbox扔你的價值

我希望它可以幫助別人..因爲它幫助了我很多..