Seal Report Forum
»
Report Edition
»
Reports
»
Displaying restrictions on Generated HTML
Rank: Newbie
Groups: Registered
Joined: 2/21/2017(UTC) Posts: 1 Location: Hyderabad
|
Hi Team,
We are having one seal report file (.srex) which had restrictions(i.e., input parameters), and need to show the report through Web API. So we written following code to show the report on HTML file. But the generated HTML file not showing restrictions for filter functionality. Please suggest us to over come the situation. Note: 1) In your older references you are using Process.Start(filepath) to generate HTML file, But Process.Start(filepath) won't work while we published Web API in IIS. 2)And our environment not using .cshtml as per our project requirements.
[HttpGet] [Route("api/GetSealReport")] public HttpResponseMessage GetSealReport() { try { Repository repository = Repository.Create(); Report report = Report.LoadFromFile(System.Web.HttpContext.Current.Server.MapPath("~/Dashboard.srex"), repository); report.Models[0].Restrictions[0].UseAsParameter = true; ReportExecution execution = new ReportExecution() { Report = report }; execution.Execute(); while (report.Status != ReportStatus.Executed) System.Threading.Thread.Sleep(100); Report previousReport = report; string result = execution.GenerateHTMLResult(); if (!string.IsNullOrEmpty(result)) { string filePath = result;
using (MemoryStream ms = new MemoryStream()) { using (FileStream file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { byte[] bytes = new byte[file.Length]; file.Read(bytes, 0, (int)file.Length); ms.Write(bytes, 0, (int)file.Length);
HttpResponseMessage httpResponseMessage = new HttpResponseMessage(); httpResponseMessage.Content = new ByteArrayContent(bytes.ToArray()); httpResponseMessage.Content.Headers.Add("x-filename", execution.Report.ResultFileName); httpResponseMessage.Content.Headers.ContentType = new MediaTypeHeaderValue("text/html"); httpResponseMessage.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline"); httpResponseMessage.Content.Headers.ContentDisposition.FileName = execution.Report.ResultFileName; httpResponseMessage.StatusCode = HttpStatusCode.OK; return httpResponseMessage; } } } return this.Request.CreateResponse(HttpStatusCode.NotFound, "File not found."); } catch (Exception ex) { return this.Request.CreateResponse(HttpStatusCode.InternalServerError, ex); } }
|
|
|
|
Rank: Administration
Groups: Administrators
Joined: 12/20/2013(UTC) Posts: 1,209 Thanks: 14 times Was thanked: 206 time(s) in 199 post(s)
|
Here you are only displaying a static html result file...so you cannot re-execute the report with restrictions.
Depending on your framework, you have to re-implement part of the controller to execute report dynamically, You have to check and take the code from HomeController.cs and implement at least: ActionExecuteReport ActionRefreshReport ActionCancelReport
plus more or less all procedures starting by Action as they are called by the report itself during execution...
|
|
|
|
Seal Report Forum
»
Report Edition
»
Reports
»
Displaying restrictions on Generated HTML
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.