2011-12-22 120 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扔你的价值

我希望它可以帮助别人..因为它帮助了我很多..