Передача значения в отчет Crystal - PullRequest
0 голосов
/ 22 декабря 2011

Мне трудно разобраться, как я могу просмотреть или просмотреть значения из Visual Studio 2010 C # в Crystal Report. Я хочу просмотреть свой отчет в Crystal Report

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 Report при получении значений из моей базы данных: они включают: Log_User, Month and the 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);
            }
        }

Все, что я хочу, это просмотреть мои входные параметры в отчете, а также оценку .. (все значения, которые имеют ????) Я знаю, что есть кто-то, кто может помочь мне понять это. После этого я сделал в своем проекте.

1 Ответ

0 голосов
/ 23 декабря 2011
 TextObject yr = (TextObject)CrystalReport81.ReportDefinition.Sections["Section3"].ReportObjects["Text1"];
                yr.Text = txtYear.Text;

Текстовое поле FORM -> Текстовое окно CRYSTAL REPORT

Добавив приведенный выше код, вы сможете отобразить значение, введенное вами в текстовые поля ... но сначала у вас должно появиться пустое текстовое поле в вашем Crystal Report, поскольку оно будет отлавливать значение, которое вы выбрасываете из текстового поля FORM

Я надеюсь, что это может помочь другим .., как это мне очень помогло ..

...