public IActionResult Dashboards() { var dashboardFiles = Directory.GetFiles($"{environment.ContentRootPath}\\Dashboards", "*.mrt"); var fileNames = new string[dashboardFiles.Length]; var index = 0; foreach (var filePath in dashboardFiles) { fileNames[index++] = Path.GetFileNameWithoutExtension(filePath); } ViewBag.FileNames = fileNames; var fileName = RouteData.Values["id"].ToString(); var report = StiReport.CreateNewDashboard(); report.Load(StiNetCoreHelper.MapPath(this, $"Dashboards/{fileName}.mrt")); var dashboard = report.Pages[0] as StiDashboard; ViewBag.ForeHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetForeColor(dashboard) : Color.Black); ViewBag.BackHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true) : Color.White); ViewBag.BackColor = dashboard != null?StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true) : Color.White; return(View()); }
protected void Page_Load(object sender, EventArgs e) { var fileName = Page.Request.QueryString.Get("id") ?? "DashboardChristmas"; var report = new StiReport(); report.Load(Server.MapPath($"~/Dashboards/{fileName}.mrt")); // Set styles for website from dashboard var dashboard = report.Pages[0] as StiDashboard; if (dashboard != null) { StiWebViewer1.BackgroundColor = StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true); var mainPanel = Master.FindControl("MainPanel") as Panel; mainPanel.ForeColor = StiDashboardStyleHelper.GetForeColor(dashboard); mainPanel.BackColor = StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true); var siteLink = Master.FindControl("SiteLink") as HyperLink; siteLink.ForeColor = StiDashboardStyleHelper.GetForeColor(dashboard); var dashboardsPanel = Master.FindControl("DashboardsPanel") as Panel; foreach (var control in dashboardsPanel.Controls) { var link = control as HyperLink; if (link != null) { link.ForeColor = StiDashboardStyleHelper.GetForeColor(dashboard); } } } StiWebViewer1.Report = report; }
private void Reports_SelectedIndexChanged(object sender, EventArgs e) { var report = reports[listBoxDashboards.SelectedIndex]; var dashboard = report.Pages[0] as StiDashboard; this.BackColor = dashboard != null?StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true) : SystemColors.Control; listBoxDashboards.Colors.ForeColor = dashboard != null?StiDashboardStyleHelper.GetForeColor(dashboard) : Color.DimGray; Report = report; }
// GET: Viewer public ActionResult Index(string id = "DashboardChristmas") { var report = StiReport.CreateNewDashboard(); report.Load(Server.MapPath($"~/Dashboards/{id}.mrt")); // Get theme colors from the dashboard page var dashboard = report.Pages[0] as StiDashboard; ViewBag.DashboardBackHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true) : Color.White); ViewBag.BackHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetBackColor(dashboard) : Color.White); ViewBag.ForeHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetForeColor(dashboard) : Color.Black); // Then use it on the _Layout.cshtml return(View()); }
protected void Page_Load(object sender, EventArgs e) { var name = Page.Request.QueryString["name"]; if (!string.IsNullOrEmpty(name)) { var dashboardPath = Server.MapPath($"Dashboards/{name}.mrt"); var report = StiReport.CreateNewDashboard(); report.Load(dashboardPath); // Get theme colors from the dashboard page var dashboard = report.Pages[0] as StiDashboard; var bashboardBackHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetDashboardBackColor(dashboard, true) : Color.White); var backHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetBackColor(dashboard) : Color.White); var foreHtmlColor = ColorTranslator.ToHtml(dashboard != null ? StiDashboardStyleHelper.GetForeColor(dashboard) : Color.Black); // Set styles Body.Style.Add("background", bashboardBackHtmlColor); NavigationBar.Style.Add("background", backHtmlColor); LinkTitle.Style.Add("color", foreHtmlColor); LinkHome.Style.Add("color", foreHtmlColor); LinkAbout.Style.Add("color", foreHtmlColor); LinkContacts.Style.Add("color", foreHtmlColor); TextCopyright.Style.Add("color", foreHtmlColor); } }