2011-12-22 30 views
0

Visual Studio 2010 C#の値をCrystal Reportに表示または表示する方法がわかりにくいです。これはCrystal Reportでレポートを表示したいのですがCrystalレポートに値を渡す

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

以下のコードは、この特定の従業員の要約を検索するためのマイボタンです。

  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(); 

以下のコードは、私のデータベースから値を取得するには、私のCrystalレポートである:これらは含まれています: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 REPORTテキストボックス

は、あなたがテキストボックスに入力した値を表示することができるようになります..しかし、最初にあなたのCrystalレポートに空のテキストボックスを持っている必要がありますそれはあなたのフォームテキストボックスから投げる価値をキャッチします

私はそれが他の人に助けてくれることを願っています。それは多くの助けになりました。

関連する問題