Выполнение запроса при открытие.
Re: Выполнение запроса при открытие.
Здравствуйте.
А вы кроме удаления вызова метода SetConnectionString добавили строку изменения Connection String?
Спасибо.
А вы кроме удаления вызова метода SetConnectionString добавили строку изменения Connection String?
Спасибо.
Re: Выполнение запроса при открытие.
Здравствуйте.Aleksey Andreyanov писал(а):Здравствуйте.
А вы кроме удаления вызова метода SetConnectionString добавили строку изменения Connection String?
Спасибо.
Да. Пробовал не изменять Connection String, а просто изменить Request Parameters в значение True, пустая страница
Re: Выполнение запроса при открытие.
Здравствуйте.
Попробуйте сохранить шаблон в действии GetReportSnapshot непосредственно перед передачей его вьюверу.
Если сам не разберётесь что в нём не так, то пришлите его нам для анализа. Также пришлите ваш текущий код.
Спасибо.
Попробуйте сохранить шаблон в действии GetReportSnapshot непосредственно перед передачей его вьюверу.
Если сам не разберётесь что в нём не так, то пришлите его нам для анализа. Также пришлите ваш текущий код.
Спасибо.
Re: Выполнение запроса при открытие.
Все ровно пустая страница.Aleksey Andreyanov писал(а):Здравствуйте.
Попробуйте сохранить шаблон в действии GetReportSnapshot непосредственно перед передачей его вьюверу.
Если сам не разберётесь что в нём не так, то пришлите его нам для анализа. Также пришлите ваш текущий код.
Спасибо.
Expandel писал(а):ViewКод: Выделить всё
public ReportController(ICurrentUserKeeper session) { StiOptions.Engine.AllowPrepareSqlQueries = false; } public ActionResult Index() { return View(); } public ActionResult GetReportSnapshot() { var routeValues = StiMvcViewer.GetRouteValues(HttpContext); var id = 1; if (routeValues["id"] != null) id = Convert.ToInt32(routeValues["id"]); var report = LoadReport(id); var connStr = ConfigurationManager.ConnectionStrings["ReportConnection"].ConnectionString; SetConnectionString(report, connStr); SetParams(report); return StiMvcViewer.GetReportSnapshotResult(HttpContext, report); } public ActionResult ViewerEvent() { return StiMvcViewer.ViewerEventResult(HttpContext); } public ActionResult GetReports() { var reports = LoadReportsFromFile() .Select(r => new { r.Id, r.NameRu }) .OrderBy(ob=>ob.NameRu); return Json(reports, JsonRequestBehavior.AllowGet); } // StiMvcViewer public ActionResult PrintReport() { return StiMvcViewer.PrintReportResult(HttpContext); } public FileResult ExportReport() { return StiMvcViewer.ExportReportResult(HttpContext); } public ActionResult Interaction() { return StiMvcViewer.InteractionResult(HttpContext); } /// <summary> /// Получить список объектов ReportModel содержащих шаблон отчета и его идентификатор из файла /// </summary> /// <returns>список объектов ReportModel</returns> private IEnumerable<ReportModel> LoadReportsFromFile() { if (_reports != null) return _reports; _reports = new List<ReportModel>(); var reportDir = ConfigurationManager.AppSettings["ReportDir"]; var reportListFile = ConfigurationManager.AppSettings["ReportListFile"]; var path = Server.MapPath(Path.Combine(reportDir, reportListFile)); var lines = System.IO.File.ReadAllLines(path); foreach (var line in lines) { var reportInfo = line.Split('?'); if (reportInfo.Length < 2) continue; int key; if (!int.TryParse(reportInfo[0], out key)) continue; var currentReport = _reports.SingleOrDefault(r => r.Id == key); if (Convert.ToBoolean(reportInfo[3])) { var right = reportInfo[1].Replace(".mrt", ""); if (!_authorizer.Check(new[] { right })) { continue; } } if (currentReport != null) { currentReport.Id = key; currentReport.FileName = reportInfo[1]; currentReport.NameRu = reportInfo.Length < 3 ? "н/у" : reportInfo[2]; } else { _reports.Add(new ReportModel { Id = key, FileName = reportInfo[1], NameRu = reportInfo.Length < 3 ? "н/у" : reportInfo[2] }); } } return _reports; } private StiReport LoadReport(int id) { var reports = LoadReportsFromFile(); var reportModel = reports.SingleOrDefault(r => r.Id == id); if (reportModel == null) return null; var report = new StiReport(); var reportDir = ConfigurationManager.AppSettings["ReportDir"]; var path = Server.MapPath(Path.Combine(reportDir, reportModel.FileName)); report.Load(path); return report; } private void SetConnectionString(StiReport report, string connStr) { report.Dictionary.Databases.Clear(); var dataBase = new StiSqlDatabase("ReportConnection", connStr); report.Dictionary.Databases.Add(dataBase); report.Compile(); } private void SetParams(StiReport report) { var user = _session.GetCurrentUser(); if (user != null) report["CurrentUser"] = user.FullName; }
Код: Выделить всё
@using Stimulsoft.Report.Mvc; @Html.Stimulsoft().StiMvcViewer(new StiMvcViewerOptions { Theme = StiTheme.Office2010, ActionGetReportSnapshot = "GetReportSnapshot", ActionViewerEvent = "ViewerEvent", ActionPrintReport = "PrintReport", ActionExportReport = "ExportReport", ActionInteraction = "Interaction", Localization = " ~/App_Data/Reports/ru.xml", ClientRequestTimeout = 1800, Server = { GlobalReportCache = false } })
Re: Выполнение запроса при открытие.
Здравствуйте.
А вы удалили вызов метода SetConnectionString?
В нём удаляются все подклчения.
Спасибо.
А вы удалили вызов метода SetConnectionString?
В нём удаляются все подклчения.
Спасибо.
Re: Выполнение запроса при открытие.
Пробовал удалять метод, но в самом отчете были настройки подключения.Aleksey Andreyanov писал(а):Здравствуйте.
А вы удалили вызов метода SetConnectionString?
В нём удаляются все подклчения.
Спасибо.
Re: Выполнение запроса при открытие.
Здравствуйте, Иван.
В отчёте, который вы нам присылали нету никаких колонок в источнике данных. Также ничего нету на странице. Что вы хотите отобразить, если в шаблоне ничего нет?
Давайте ещё раз. Пропишите в шаблоне необходимое подключение. Проверьте, чтобы оно работало в дизайнере. Отключите код, который изменяет словарь данных.
Уточните ещё момент: у нас вообще ничего не отображается или что-то есть?
Спасибо.
В отчёте, который вы нам присылали нету никаких колонок в источнике данных. Также ничего нету на странице. Что вы хотите отобразить, если в шаблоне ничего нет?
Давайте ещё раз. Пропишите в шаблоне необходимое подключение. Проверьте, чтобы оно работало в дизайнере. Отключите код, который изменяет словарь данных.
Уточните ещё момент: у нас вообще ничего не отображается или что-то есть?
Спасибо.
Re: Выполнение запроса при открытие.
В дизайнере работает. Код отключил, отображается пустой лист:Aleksey Andreyanov писал(а):Здравствуйте, Иван.
В отчёте, который вы нам присылали нету никаких колонок в источнике данных. Также ничего нету на странице. Что вы хотите отобразить, если в шаблоне ничего нет?
Давайте ещё раз. Пропишите в шаблоне необходимое подключение. Проверьте, чтобы оно работало в дизайнере. Отключите код, который изменяет словарь данных.
Уточните ещё момент: у нас вообще ничего не отображается или что-то есть?
Спасибо.
Re: Выполнение запроса при открытие.
Здравстввуйте.
Уточните, пожалуйста, пустой лист отображается изначально, или после нажатия Применить?
Спасибо.
Уточните, пожалуйста, пустой лист отображается изначально, или после нажатия Применить?
Спасибо.
Re: Выполнение запроса при открытие.
ИзначальноAleksey Andreyanov писал(а):Здравстввуйте.
Уточните, пожалуйста, пустой лист отображается изначально, или после нажатия Применить?
Спасибо.