示例#1
0
        void ExportToHTML(List <DataTable> aTables, List <string> aDetails, List <string> aFooter, string aFilePath, bool aIsThermal = false, bool ArabicFlowDirection = false, bool colored = false)
        {
            StreamWriter sr        = new StreamWriter(aFilePath, false, UTF8Encoding.UTF8);
            string       Width     = aIsThermal ? " width: 350px ;" : "; width:100% ;";
            string       direction = ArabicFlowDirection ? "rtl" : "ltr";

            /// Printing Headers and linking style
            sr.Write(@"<!DOCTYPE html>
            <html lang='en'>
            <head>
            <meta charset=""UTF-8"" />

            </head> ");
            //          <title> Sari Title </title>
            //<link rel=""stylesheet"" href=""style.css"">
            #region STYLESHEET
            sr.Write("<style>/*CALCIUM|RMS REPORTING STYLE ALL RIGHT RESERVERED 2013 CALCIUM */table.TableStyle1 { table-layout: fixed;width:100%;font-family: \"simplified arabic\",arial,sans-serif;color:#333333;border-width: 1px;border-color: #a9c6c9;border-collapse: collapse;  }table.TableStyle1 th {color:#000 ;border-width: 1px;padding: 2px;border-color: #a9c6c9 ;	word-wrap:break-word;font-size:14pt;font-family:\"simplified arabic\",sans-serif;border-style: solid;}table.TableStyle1 td{text-align:center;border-width: 1px;padding: 2px;border-style: solid;border-color: #a9c6c9;word-wrap:break-word;	font-family:\"century gothic\",sans-serif;font-size:12pt;}table.TableStyle1NoBorder { table-layout: fixed;width:100%;font-family: \"simplified arabic\",arial,sans-serif;color:#333333;  }table.TableStyle1NoBorder th {color:#000 ;padding: 2px;word-wrap:break-word;font-size:14pt;font-family:\"simplified arabic\",sans-serif;}table.TableStyle1NoBorder td{text-align:center;padding: 2px;word-wrap:break-word;	font-family:\"century gothic\",sans-serif;font-size:12pt;}table.ThermalNoBorder { table-layout: fixed;width:100%;font-family: arial,sans-serif;color:#000;}table.ThermalNoBorder th {color:#000 ;text-decoration:underline;padding: 2px;word-wrap:break-word;font-size:14pt;font-weight:bold;font-family:arial,sans-serif;}table.ThermalNoBorder td{padding: 2px;word-wrap:break-word;	font-family:arial,sans-serif;font-size:12pt;font-weight:bold;}	table.ThermalBorder { table-layout: fixed;width:100%;font-family: sans-serif;color:#000;border-width: 1px;border-color: #000;border-collapse: collapse;  }table.ThermalBorder th {color:#000 ;border-width: 1px;padding: 2px;border-color: #000 ;	word-wrap:break-word;font-size:14pt;font-family:sans-serif,sans-serif;border-style: solid;font-weight:bold;}table.ThermalBorder td{border-width: 1px;padding: 2px;border-style: solid;border-color: #000;word-wrap:break-word;	font-family:arial,sans-serif;font-size:12pt;font-weight:bold;}	table.TableIsHeaderOnly { table-layout: fixed;width:100%;font-family: verdana,arial,sans-serif;}table.TableIsHeaderOnly th{color:#000000 ;width:100%;			text-decoration:underline;word-wrap:break-word;font-size:12pt;font-family: arial,sans-serif;text-align:center;}h1{width:100%;margin:0;margin-bottom:1px;font-family:  arial,tahoma,sans-serif;font-size:14pt;text-align:center;word-wrap:break-word;font-weight:bold;}h2 {width:100%;margin:0;margin-bottom:1px;font-family:  arial,tahoma,sans-serif;font-size:12pt;text-align:left;word-wrap:break-word;font-weight:normal;}h3 {width:100%;margin:0;margin-bottom:1px;font-family: tahoma,sans-serif;font-size:11pt;;text-align:left;word-wrap:break-word;font-weight:normal;}footer {footer-layout: fixed;<!--background: #ccc;-->width:100%;}footer p{<!--color:#000;-->font-size:14pt;font-weight:bold;font-family: tahoma, sans-serif;text-align:center;margin:1;padding:10px ;}hr {border: 0;border-bottom: 1px dashed #000;background: #fff;	}.oddrowcolor{background-color:#d4e3e5;/*d4e3e5*/}.evenrowcolor{background-color:#c3dde0;/*#c3dde0*/}</style>");

            #endregion STYLESHEET
            sr.WriteLine("<body dir=\"" + direction + "\">");
            sr.WriteLine("<center>");
            sr.WriteLine("<div style=\"" + Width + "\" >");
            if (ConfigurationHelper.IsPrintLogoEnabled()) //LOGO
            {
                sr.WriteLine("<div style=\"text-align: center\">");
                sr.WriteLine("<img src=\"" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\logo.jpg\" style=\"float: middle;\" alt=\"logo\" />");
                sr.WriteLine("</div>");
            }
            List <string> details = new List <string>(aDetails);

            for (int i = 0; i < details.Count; i++)
            {
                if (details[i] == null) //bug fix V01I Septemper 18 2013 By Sari Sultan
                {
                    continue;
                }
                if (details[i].ToString().IndexOf("<h") != -1)
                {
                    sr.WriteLine(details[i]);
                }
                else
                {
                    sr.WriteLine("<h1> " + details[i] + " </h1>");
                }
            }
            sr.Close();
            foreach (DataTable dt in aTables)
            {
                printTable(dt, aFilePath, aIsThermal);
                sr = new StreamWriter(aFilePath, true, UTF8Encoding.UTF8);
                sr.Close();
            }

            sr = new StreamWriter(aFilePath, true, UTF8Encoding.UTF8);
            List <string> dd = new List <string>(aFooter);
            sr.WriteLine("<footer>");
            sr.WriteLine("<br><br>");
            for (int i = 0; i < dd.Count; i++)
            {
                sr.WriteLine("<h1> " + dd[i] + "</h1>");
            }
            sr.WriteLine("</footer>");

            sr.WriteLine("</center>");
            if (colored && !aIsThermal)
            {
                //sr.WriteLine("<script src=\"AlternateColors.js\"></script>");
                sr.WriteLine("<script> function altRows(table){ if(document.getElementsByTagName){ var table = table; if(table.rows.length==1) { table.className=\"TableIsHeaderOnly\"; } else {var rows = table.getElementsByTagName(\"tr\"); 	for(i = 0; i < rows.length; i++){ if(i % 2 == 0 ){rows[i].className = \"evenrowcolor\";} else{rows[i].className = \"oddrowcolor\";} } }}} window.onload=function(){ var tables = document.getElementsByTagName(\"TABLE\"); for (var i=tables.length-1; i>=0;i-=1) if (tables[i]) altRows(tables[i]); } </script>");
            }
            sr.WriteLine("</body>");
            sr.WriteLine("</html>");


            sr.Close();
            using (StreamReader areader = new StreamReader(aFilePath, UTF8Encoding.UTF8))
            { Reports.ReportsHelper.__HTMLPage = areader.ReadToEnd(); }
        }
示例#2
0
        private void UpdateForm()
        {
            try
            {
                IsLoading = true;
                DataTable aBillHeader   = PrintingSettingsMgmt.SelectBillsHeaders(0, 0);
                DataTable aBillFooter   = PrintingSettingsMgmt.SelectBillsHeaders(1, 0);
                DataTable aReportHeader = PrintingSettingsMgmt.SelectBillsHeaders(0, 1);
                DataTable aReportFooter = PrintingSettingsMgmt.SelectBillsHeaders(1, 1);
                if (aBillHeader != null)
                {
                    foreach (DataRow aRow in aBillHeader.Rows)
                    {
                        if (aRow["Number"].ToString() == "1")
                        {
                            bh1TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "2")
                        {
                            bh2TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "3")
                        {
                            bh3TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "4")
                        {
                            bh4TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "5")
                        {
                            bh5TxtBox.Text = aRow["Data"].ToString();
                        }
                    }
                }

                if (aBillFooter != null)
                {
                    foreach (DataRow aRow in aBillFooter.Rows)
                    {
                        if (aRow["Number"].ToString() == "1")
                        {
                            bf1TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "2")
                        {
                            bf2TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "3")
                        {
                            bf3TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "4")
                        {
                            bf4TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "5")
                        {
                            bf5TxtBox.Text = aRow["Data"].ToString();
                        }
                    }
                }

                //-------------- Starting Report Data
                if (aReportHeader != null)
                {
                    foreach (DataRow aRow in aReportHeader.Rows)
                    {
                        if (aRow["Number"].ToString() == "1")
                        {
                            rh1TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "2")
                        {
                            rh2TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "3")
                        {
                            rh3TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "4")
                        {
                            rh4TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "5")
                        {
                            rh5TxtBox.Text = aRow["Data"].ToString();
                        }
                    }
                }

                if (aReportFooter != null)
                {
                    foreach (DataRow aRow in aReportFooter.Rows)
                    {
                        if (aRow["Number"].ToString() == "1")
                        {
                            rf1TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "2")
                        {
                            rf2TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "3")
                        {
                            rf3TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "4")
                        {
                            rf4TxtBox.Text = aRow["Data"].ToString();
                        }
                        else if (aRow["Number"].ToString() == "5")
                        {
                            rf5TxtBox.Text = aRow["Data"].ToString();
                        }
                    }
                }

                //---------------------
                PrintLogoChkBox.Checked = ConfigurationHelper.IsPrintLogoEnabled();
            }
            catch (Exception ex)
            {
                MessageBox.Show(MsgTxt.UnexpectedError + "\n IN [PrintingSettingsForm] \n Exception: \n" + ex.ToString(), MsgTxt.ErrorCaption, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally { IsLoading = false; }
        }