[英]Passing the value to crystal report
我很難弄清楚如何查看或查看從Visual Studio 2010 C#到Crystal Report的值。這是我希望在Crystal Report中查看我的報告的方法。
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();
下面的代碼是我的Crystal Report,用於從數據庫中獲取值:其中包括:Log_User,Month和Year。
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);
}
}
我只想在報告中查看我的輸入參數以及成績。.(所有具有????的值)我知道那里有人可以幫助我找出答案。 之后,我就完成了我的項目。
TextObject yr = (TextObject)CrystalReport81.ReportDefinition.Sections["Section3"].ReportObjects["Text1"];
yr.Text = txtYear.Text;
表單文本框->水晶報告文本框
通過添加上面的代碼,您可以顯示在文本框中輸入的值。.但是首先,您在Crystal Report中應該有一個空的文本框,因為這將捕獲從FORM文本框中拋出的值
我希望它可以幫助其他人。因為它對我有很大幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.