Ejemplo n.º 1
0
        private void buttonGenerateReport_Click(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(reportBuilder.ReportName) && reportBuilder.ListReportItems.Count > 0)
            {
                saveFileDialog1.FileName = reportBuilder.ReportName + ".html";
                saveFileDialog1.Filter   = "HTML (*.html)|*.html";
                if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    webBrowser1.DocumentStream = null;
                    richTextBox1.Clear();

                    foreach (ReportItem ri in reportBuilder.ListReportItems)
                    {
                        if (ri.GraphHelper != null)
                        {
                            ri.GraphHelper.Path = Path.GetDirectoryName(saveFileDialog1.FileName);
                        }
                    }
                    String output = reportBuilder.GenerateReport();
                    if (!String.IsNullOrEmpty(output))
                    {
                        richTextBox1.Text = output;
                        ImportExportHelper ieh = new ImportExportHelper();
                        ieh.SaveToFile(saveFileDialog1.FileName, output);
                        webBrowser1.Url = new System.Uri(saveFileDialog1.FileName);
                    }
                    else
                    {
                        MessageBox.Show("The report could not be saved. Attempting to load the text from memory...");
                        webBrowser1.DocumentText = output;
                    }
                    tabControlReport.SelectedIndex = 1;
                }
            }
            else
            {
                MessageBox.Show("Please give your report a name.");
            }
        }