Как показать отчет о кристалле из GridView? - PullRequest
0 голосов
/ 03 декабря 2010

У меня есть GridView с одним столбцом ButtonField, подобным этому: Я уже создал Crystal Report на основе хранимой процедуры с одним входным параметром, называемым ID.Я сохранил идентификатор в DataKeyNames GridView.

Поэтому, когда пользователь нажимает кнопку печати в Gridview, отображаются соответствующие отчеты кристаллов.

С нетерпением жду ваших полезных советов.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2010

Я получил ответ.

        if (e.CommandName == "printReport")      
        {
            int ID = Convert.ToInt32(GridView1.SelectedDataKey.Value);
            try
            {
                CrystalDecisions.CrystalReports.Engine.ReportDocument rpt =
                            new CrystalDecisions.CrystalReports.Engine.ReportDocument();

                string conn = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
                string[] str = conn.Split(';');
                string server = str[0].Substring(str[0].IndexOf(" = ") + 3);
                string database = str[1].Substring(str[1].IndexOf(" = ") + 3);
                string userid = str[2].Substring(str[2].IndexOf(" = ") + 3);
                string password = str[3].Substring(str[3].IndexOf(" = ") + 3);

                rpt.Load(Server.MapPath("~/Engineering/Reports/Report.rpt"));

                for (int i = 0; i < rpt.DataSourceConnections.Count; i++)
                    rpt.DataSourceConnections[i].SetConnection(server, database, userid, password);
                rpt.SetParameterValue(0, ID);

                rpt.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, HttpContext.Current.Response, true, "Report");
            }
            catch (Exception ex)
            {
                return ex.ToString();
            }

        }
0 голосов
/ 03 декабря 2010

Нет прямого способа экспортировать сетку в отчет Crystal.

Вызовите тот же запрос, используя набор данных, передайте набор данных в отчет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...