<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 06 Oct 2016 17:17:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Home modified by Juliano Paulo Menzen</title><link>https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v3
+++ v4
@@ -1,61 +1,64 @@
 # Softbyte.HtmlTableGenerator
-
-This is a C# framework developed in Softbyte company to aid in the generation of HTML tables.
+This is a C# framework developed in [Softbyte](http://softbyte.com.br/) company to aid in the generation of HTML tables.

 This framework aims to generate HTML tables, allowing the content created is subsequently used for any purpose that involves HTML. Send emails, generate pdf reports ..

 The motivation for creating this framework was the high cost to purchase tools that would enable the generation of PDF reports. Because of this, it was decided to generate html tables and then perform the conversion to a document.

-# Reports
-
-Initially this framework is designed to work with the AbcPdf component so that the Softbyte.HtmlTableGenerator performs the conversion of the C# code structure for HTML and the component ABCpdf performed the HTML conversion to a .PDF report.
-
-If you choose not to use the ABCpdf in generating reports, below we leave some suggestions:
-* HiQPdf - https://hiqpdf.codeplex.com/
-* SelectPdf Community Edition (FREE) - https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d
-* WKHtmlTopdf - http://wkhtmltopdf.org/index.html
-* HTML Renderer - https://htmlrenderer.codeplex.com/
-
-# Nuget
-
+
+## Reports
+Initially this framework is designed to work with the [AbcPdf](http://www.websupergoo.com/abcpdf-1.htm) component so that the Softbyte.HtmlTableGenerator performs the conversion of the C# code structure for HTML and the component ABCpdf performed the HTML conversion to a .PDF report.
+
+If you choose not to use the ABCpdf in generating reports, below we leave some suggestions:  
+HiQPdf - https://hiqpdf.codeplex.com/  
+SelectPdf Community Edition (FREE) - https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d  
+WKHtmlTopdf - http://wkhtmltopdf.org/index.html  
+HTML Renderer - https://htmlrenderer.codeplex.com/  
+
+
+## Nuget
 Yeah! This framework is in Nuget!

-# Structure
-
-The framework is divided into two parts:
-1. The classes representing the HTML elements;
+
+## Structure
+The framework is divided into two parts:  
+1. The classes representing the HTML elements;  
 2. The class responsible for generating HTML content.

+----------------
+
 Following the idea of HTML structure, there are the classes representing the HTML elements:
-
 ~~~
 
-    
-        
-        
-         
-    
-    
-        
-        
-         
-    
-    
-        
-        
-         
-    
+   
+       
+       
+        
+   
+   
+       
+       
+        
+   
+   
+       
+       
+        
+   &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Firstname&lt;/th&gt;&lt;th&gt;Lastname&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Mayer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Eric&lt;/td&gt;&lt;td&gt;Clapton&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Firstname&lt;/th&gt;&lt;th&gt;Lastname&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Mayer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Eric&lt;/td&gt;&lt;td&gt;Clapton&lt;/td&gt;&lt;/tr&gt;
 &lt;/tbody&gt;&lt;/table&gt;
 ~~~
-Class | HTML Element
----------- | ---------- | ------ 
-ElementoTabela      | 
-ElementoLinha      | 
-ElementoCelula      | &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
- 
+
+Class  | HTML Element
+------ |   -------------
+ElementoTabela | ``
+ElementoLinha | ``
+ElementoCelula | `
-
+~~~
+
+
+##### ``
+~~~
 ElementoLinha trElement = new ElementoLinha();
 trElement.Atributos.Adicionar("align", "right");
 trElement.Atributos.Adicionar("valign", "middle");
-
-&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;`
+
+
 Each element has the property "Atributos." This property allows it to be implemented any HTML property in the elements. "Id", "name", "class", "style", "colspan", "rowspan", ...

-# Creating a structure 
+
+## Creating a structure 

 ~~~
 ElementoTabela table = new ElementoTabela();
@@ -65,17 +68,17 @@
 header.Atributos.Adicionar("style", "background-color:#4CAF50; color:white;");
 header.ListaCelula.Add(new ElementoCelula()
 {
-    Valor = "First Name",
-});
-
-header.ListaCelula.Add(new ElementoCelula()
-{
-    Valor = "Last Name"
-});
-
-header.ListaCelula.Add(new ElementoCelula()
-{
-    Valor = "Savings"
+   Valor = "First Name",
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+   Valor = "Last Name"
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+   Valor = "Savings"
 });

 table.LinhaCabecalho = header;
@@ -88,38 +91,38 @@
 int i = 0;
 foreach (User user in users)
 {
-    ElementoLinha lineTr = new ElementoLinha();
-
-    if ((i % 2) == 0)
-    {
-        lineTr.Atributos.Adicionar("style", "background-color:#f2f2f2");
-    }
-    i++;
-
-    ElementoCelula tdFirstname = new ElementoCelula()
-    {
-        Valor = user.Firstname,
-        Atributos = propertyFirstname
-    };
-
-    ElementoCelula tdLastname = new ElementoCelula()
-    {
-        Valor = user.Lastname
-    };
-
-    ElementoCelula tdSavings = new ElementoCelula()
-    {
-        Valor = user.Savings
-    };
-
-    tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
-    tdSavings.Atributos.Adicionar("align", "right");
-
-    lineTr.ListaCelula.Add(tdFirstname);
-    lineTr.ListaCelula.Add(tdLastname);
-    lineTr.ListaCelula.Add(tdSavings);
-
-    table.ListaLinha.Add(lineTr);
+   ElementoLinha lineTr = new ElementoLinha();
+
+   if ((i % 2) == 0)
+   {
+       lineTr.Atributos.Adicionar("style", "background-color:#f2f2f2");
+   }
+   i++;
+
+   ElementoCelula tdFirstname = new ElementoCelula()
+   {
+       Valor = user.Firstname,
+       Atributos = propertyFirstname
+   };
+
+   ElementoCelula tdLastname = new ElementoCelula()
+   {
+       Valor = user.Lastname
+   };
+
+   ElementoCelula tdSavings = new ElementoCelula()
+   {
+       Valor = user.Savings
+   };
+
+   tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
+   tdSavings.Atributos.Adicionar("align", "right");
+
+   lineTr.ListaCelula.Add(tdFirstname);
+   lineTr.ListaCelula.Add(tdLastname);
+   lineTr.ListaCelula.Add(tdSavings);
+
+   table.ListaLinha.Add(lineTr);
 }

 GeradorTabelaHtml geradorTabelaHtml = new GeradorTabelaHtml();
@@ -128,48 +131,50 @@
 ~~~

 ~~~
-// Return
+
 &lt;table&gt;&lt;/table&gt;
-    
-        
-        
-        
-    
-        
-        
-        
-        
-    
-    
-        
-        
-        
-    
-    
-        
-        
-        
-    
-    
-        
-        
-        
-    
+   
+       
+       
+       
+   
+       
+       
+       
+       
+   
+   
+       
+       
+       
+   
+   
+       
+       
+       
+   
+   
+       
+       
+       
+   &lt;table style="border-collapse: collapse; border-spacing: 0; width: 100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #4CAF50; color: white;"&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #4CAF50; color: white;"&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;
 &lt;/tbody&gt;&lt;/table&gt;
 ~~~

-# Creating a structure &amp;lt;html&amp;gt;
-
-In addition to the basic elements of a table structure, there is the implementation of another class where you can inform css classes to be used in the &amp;lt;style&amp;gt; tag.
+![First Table](https://sourceforge.net/p/softbyte-htmltablegenerator/code/HEAD/tree/images/screenTable1.png?format=raw)
+
+
+## Creating a structure `&amp;lt;html&amp;gt;`
+In addition to the basic elements of a table structure, there is the implementation of another class where you can inform css classes to be used in the `&amp;lt;style&amp;gt;` tag.

 ~~~
 &amp;lt;html&amp;gt;
-    &amp;lt;head&amp;gt;
-        &amp;lt;style type="text/css"&amp;gt;[...]&amp;lt;/style&amp;gt;
-    &amp;lt;head&amp;gt;
-    &amp;lt;body&amp;gt;
-        [...]&lt;table&gt;&lt;/table&gt;
-    &amp;lt;body&amp;gt;
+   &amp;lt;head&amp;gt;
+       &amp;lt;style type="text/css"&amp;gt;[...]&amp;lt;/style&amp;gt;
+   &amp;lt;head&amp;gt;
+   &amp;lt;body&amp;gt;
+       [...]&lt;table&gt;&lt;/table&gt;
+   &amp;lt;body&amp;gt;
 &amp;lt;/html&amp;gt;
 ~~~

@@ -188,47 +193,47 @@

 header.ListaCelula.Add(new ElementoCelula()
 {
-    Valor = "First Name",
-});
-
-header.ListaCelula.Add(new ElementoCelula()
-{
-    Valor = "Last Name"
-});
-
-header.ListaCelula.Add(new ElementoCelula()
-{
-    Valor = "Savings"
-});
-
-table.LinhaCabecalho = header;          
+   Valor = "First Name",
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+   Valor = "Last Name"
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+   Valor = "Savings"
+});
+
+table.LinhaCabecalho = header;         

 foreach (User user in users)
 {
-    ElementoLinha lineTr = new ElementoLinha();
-
-    ElementoCelula tdFirstname = new ElementoCelula()
-    {
-        Valor = user.Firstname
-    };
-
-    ElementoCelula tdLastname = new ElementoCelula()
-    {
-        Valor = user.Lastname
-    };
-
-    ElementoCelula tdSavings = new ElementoCelula()
-    {
-        Valor = user.Savings
-    };
-
-    tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
-
-    lineTr.ListaCelula.Add(tdFirstname);
-    lineTr.ListaCelula.Add(tdLastname);
-    lineTr.ListaCelula.Add(tdSavings);
-
-    table.ListaLinha.Add(lineTr);
+   ElementoLinha lineTr = new ElementoLinha();
+
+   ElementoCelula tdFirstname = new ElementoCelula()
+   {
+       Valor = user.Firstname
+   };
+
+   ElementoCelula tdLastname = new ElementoCelula()
+   {
+       Valor = user.Lastname
+   };
+
+   ElementoCelula tdSavings = new ElementoCelula()
+   {
+       Valor = user.Savings
+   };
+
+   tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
+
+   lineTr.ListaCelula.Add(tdFirstname);
+   lineTr.ListaCelula.Add(tdLastname);
+   lineTr.ListaCelula.Add(tdSavings);
+
+   table.ListaLinha.Add(lineTr);
 }

 htmlElement.Tabela = table;
@@ -238,63 +243,68 @@
 return geradorTabelaHtml.Criar(htmlElement);
 ~~~

-// Return
+~~~
+
 &amp;lt;html&amp;gt;
-    &amp;lt;head&amp;gt;
-        &amp;lt;style type="text/css"&amp;gt;
-            .customTable {
-                border-collapse:collapse;
-                border-spacing:0;
-                width:100%;
-            } 
-            th {
-                background-color:#4CAF50; color:white;
-            } 
-            tr:nth-child(even) {
-                background-color: #f2f2f2
-            }
-            td:first-child {
-                font-weight: bold
-            } 
-            td:last-child {
-                text-align: right
-            }  
-        &amp;lt;/style&amp;gt;
-    &amp;lt;/head&amp;gt;
-    &amp;lt;body&amp;gt;
-        
-            
-                
-                
-                
-            
-            
-                
-                
-                
-            
-            
-                
-                
-                
-            
-            
-                
-                
-                
-            
-            
-                
-                
-                
-            
-        &lt;table class="customTable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
-    &amp;lt;/body&amp;gt;
+   &amp;lt;head&amp;gt;
+       &amp;lt;style type="text/css"&amp;gt;
+           .customTable {
+               border-collapse:collapse;
+               border-spacing:0;
+               width:100%;
+           } 
+           th {
+               background-color:#4CAF50; color:white;
+           } 
+           tr:nth-child(even) {
+               background-color: #f2f2f2
+           }
+           td:first-child {
+               font-weight: bold
+           } 
+           td:last-child {
+               text-align: right
+           }  
+       &amp;lt;/style&amp;gt;
+   &amp;lt;/head&amp;gt;
+   &amp;lt;body&amp;gt;
+       
+           
+               
+               
+               
+           
+           
+               
+               
+               
+           
+           
+               
+               
+               
+           
+           
+               
+               
+               
+           
+           
+               
+               
+               
+           
+       &lt;table class="customTable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
+   &amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;
-
-# HTML attributes
-&lt;/td&gt;&lt;td&gt;
-
+~~~
+
+![Second Table](https://sourceforge.net/p/softbyte-htmltablegenerator/code/HEAD/tree/images/screenTable2.png?format=raw)
+
+
+## HTML attributes
+##### `&lt;/td&gt;&lt;td&gt;`
+~~~
 ElementoCelula tdElement = new ElementoCelula();
 tdElement.Atributos.Adicionar("id", "lineOne", [bool SubscribePropertyIfExists = true]); // If the property already exists, the value should be overridden?
 tdElement.Atributos.Adicionar("style", "border: 1px solid black");
@@ -306,37 +316,37 @@
 cel.Valor = decimal.MaxValue;
 //or
 cel.Valor = double.MinValue;
-
-&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
-
+~~~
+
+
+##### `&lt;table&gt;&lt;/table&gt;`
+~~~
 ElementoTabela tableElement = new ElementoTabela();
 tableElement.Atributos.Adicionar("border", 1);
 tableElement.Atributos.Adicionar("style ", "width:100%");
-
-&amp;lt;html&amp;gt;
-
+~~~
+
+
+#####  `&amp;lt;html&amp;gt;`
+~~~
 ElementoHTMLTabela htmlElement = new ElementoHTMLTabela();
 htmlElement.ClassesCSS.Adicionar(".customTable", "border-collapse:collapse; border-spacing:0; width:100%;"); // Custom Class for table
 htmlElement.ClassesCSS.Adicionar("th", "background-color:#4CAF50; color:white;"); // Header
 htmlElement.ClassesCSS.Adicionar("tr:nth-child(even)", "background-color: #f2f2f2"); // Striped table
 htmlElement.ClassesCSS.Adicionar("td:first-child", "font-weight: bold"); // First Name in bold
 htmlElement.ClassesCSS.Adicionar("td:last-child", "text-align: right"); // Savings aligned right
-
-# Pendencies
-
-*     Methods translate to English;
-*     Allow the geradorTabelaHtml.Criar() render multiple tables at the same time;
-*     Correct implementation of exceptions.
-
-
-
-The wiki uses [Markdown](/p/softbyte-htmltablegenerator/wiki/markdown_syntax/) syntax.
-
-[[members limit=20]]
-[[download_button]]
+~~~
+
+
+## Pendencies
+* Methods translate to English;
+* Allow the `geradorTabelaHtml.Criar()` render multiple tables at the same time;
+* Correct implementation of exceptions.
&lt;table&gt;
&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juliano Paulo Menzen</dc:creator><pubDate>Thu, 06 Oct 2016 17:17:58 -0000</pubDate><guid>https://sourceforge.net1178cb3f719eff0fbaa18633030d51e1c059b799</guid></item><item><title>Home modified by Juliano Paulo Menzen</title><link>https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,23 +1,26 @@
-Softbyte.HtmlTableGenerator
+# Softbyte.HtmlTableGenerator

 This is a C# framework developed in Softbyte company to aid in the generation of HTML tables.

 This framework aims to generate HTML tables, allowing the content created is subsequently used for any purpose that involves HTML. Send emails, generate pdf reports ..

 The motivation for creating this framework was the high cost to purchase tools that would enable the generation of PDF reports. Because of this, it was decided to generate html tables and then perform the conversion to a document.
-Reports
+
+# Reports

 Initially this framework is designed to work with the AbcPdf component so that the Softbyte.HtmlTableGenerator performs the conversion of the C# code structure for HTML and the component ABCpdf performed the HTML conversion to a .PDF report.

 If you choose not to use the ABCpdf in generating reports, below we leave some suggestions:
-HiQPdf - https://hiqpdf.codeplex.com/
-SelectPdf Community Edition (FREE) - https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d
-WKHtmlTopdf - http://wkhtmltopdf.org/index.html
-HTML Renderer - https://htmlrenderer.codeplex.com/
-Nuget
+* HiQPdf - https://hiqpdf.codeplex.com/
+* SelectPdf Community Edition (FREE) - https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d
+* WKHtmlTopdf - http://wkhtmltopdf.org/index.html
+* HTML Renderer - https://htmlrenderer.codeplex.com/
+
+# Nuget

 Yeah! This framework is in Nuget!
-Structure
+
+# Structure

 The framework is divided into two parts:
 1. The classes representing the HTML elements;
@@ -25,6 +28,7 @@

 Following the idea of HTML structure, there are the classes representing the HTML elements:

+~~~
 
@@ -42,15 +46,18 @@
         &lt;table&gt;
     &lt;tbody&gt;&lt;tr&gt;
         &lt;th&gt;#&lt;/th&gt;&lt;td&gt;Clapton&lt;/td&gt; 
     &lt;/tr&gt;
 &lt;/tbody&gt;&lt;/table&gt;
-
-Class  HTML Element
-ElementoTabela     
-ElementoLinha  
-ElementoCelula     &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
-
+~~~
+Class | HTML Element
+---------- | ---------- | ------ 
+ElementoTabela      | 
+ElementoLinha      | 
+ElementoCelula      | &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
+ 
 Each element has the property "Atributos." This property allows it to be implemented any HTML property in the elements. "Id", "name", "class", "style", "colspan", "rowspan", ...
-Creating a structure 
-
+
+# Creating a structure &lt;table&gt;&lt;/table&gt;
+
+~~~
 ElementoTabela table = new ElementoTabela();
 table.Atributos.Adicionar("style", "border-collapse:collapse; border-spacing:0; width:100%;");

@@ -118,7 +125,9 @@
 GeradorTabelaHtml geradorTabelaHtml = new GeradorTabelaHtml();

 return geradorTabelaHtml.Criar(table);
-
+~~~
+
+~~~
 // Return
 &lt;table&gt;&lt;/table&gt;
@@ -147,11 +156,13 @@
         &lt;table style="border-collapse: collapse; border-spacing: 0; width: 100%;"&gt;
     &lt;tbody&gt;&lt;tr style="background-color: #4CAF50; color: white;"&gt;&lt;td align="right" style="color: red;"&gt;25&lt;/td&gt;
     &lt;/tr&gt;
 &lt;/tbody&gt;&lt;/table&gt;
-
-Creating a structure &amp;lt;html&amp;gt;
+~~~
+
+# Creating a structure &amp;lt;html&amp;gt;

 In addition to the basic elements of a table structure, there is the implementation of another class where you can inform css classes to be used in the &amp;lt;style&amp;gt; tag.

+~~~
 &amp;lt;html&amp;gt;
     &amp;lt;head&amp;gt;
         &amp;lt;style type="text/css"&amp;gt;[...]&amp;lt;/style&amp;gt;
@@ -160,7 +171,9 @@
         [...]&lt;table&gt;&lt;/table&gt;
     &amp;lt;body&amp;gt;
 &amp;lt;/html&amp;gt;
-
+~~~
+
+~~~
 ElementoHTMLTabela htmlElement = new ElementoHTMLTabela();
 htmlElement.ClassesCSS.Adicionar(".customTable", "border-collapse:collapse; border-spacing:0; width:100%;"); // Custom class for table
 htmlElement.ClassesCSS.Adicionar("th", "background-color:#4CAF50; color:white;"); // Header
@@ -223,6 +236,7 @@
 GeradorTabelaHtml geradorTabelaHtml = new GeradorTabelaHtml();

 return geradorTabelaHtml.Criar(htmlElement);
+~~~

 // Return
 &amp;lt;html&amp;gt;
@@ -278,7 +292,7 @@
     &amp;lt;/body&amp;gt;
 &amp;lt;/html&amp;gt;

-HTML attributes
+# HTML attributes
 &lt;/td&gt;&lt;td&gt;

 ElementoCelula tdElement = new ElementoCelula();
@@ -314,11 +328,11 @@
 htmlElement.ClassesCSS.Adicionar("td:first-child", "font-weight: bold"); // First Name in bold
 htmlElement.ClassesCSS.Adicionar("td:last-child", "text-align: right"); // Savings aligned right

-Pendencies
-
-    Methods translate to English;
-    Allow the geradorTabelaHtml.Criar() render multiple tables at the same time;
-    Correct implementation of exceptions.
+# Pendencies
+
+*     Methods translate to English;
+*     Allow the geradorTabelaHtml.Criar() render multiple tables at the same time;
+*     Correct implementation of exceptions.


&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juliano Paulo Menzen</dc:creator><pubDate>Thu, 06 Oct 2016 15:34:53 -0000</pubDate><guid>https://sourceforge.netc788981591cffff9480ec9d994dfa2d62b595e70</guid></item><item><title>Home modified by Juliano Paulo Menzen</title><link>https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,6 +1,326 @@
-Welcome to your wiki!
-
-This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
+Softbyte.HtmlTableGenerator
+
+This is a C# framework developed in Softbyte company to aid in the generation of HTML tables.
+
+This framework aims to generate HTML tables, allowing the content created is subsequently used for any purpose that involves HTML. Send emails, generate pdf reports ..
+
+The motivation for creating this framework was the high cost to purchase tools that would enable the generation of PDF reports. Because of this, it was decided to generate html tables and then perform the conversion to a document.
+Reports
+
+Initially this framework is designed to work with the AbcPdf component so that the Softbyte.HtmlTableGenerator performs the conversion of the C# code structure for HTML and the component ABCpdf performed the HTML conversion to a .PDF report.
+
+If you choose not to use the ABCpdf in generating reports, below we leave some suggestions:
+HiQPdf - https://hiqpdf.codeplex.com/
+SelectPdf Community Edition (FREE) - https://code.msdn.microsoft.com/Convert-from-HTML-to-PDF-09ce2a1d
+WKHtmlTopdf - http://wkhtmltopdf.org/index.html
+HTML Renderer - https://htmlrenderer.codeplex.com/
+Nuget
+
+Yeah! This framework is in Nuget!
+Structure
+
+The framework is divided into two parts:
+1. The classes representing the HTML elements;
+2. The class responsible for generating HTML content.
+
+Following the idea of HTML structure, there are the classes representing the HTML elements:
+
+
+    
+        
+        
+         
+    
+    
+        
+        
+         
+    
+    
+        
+        
+         
+    
+&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Firstname&lt;/th&gt;&lt;th&gt;Lastname&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;John&lt;/td&gt;&lt;td&gt;Mayer&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;2&lt;/td&gt;&lt;td&gt;Eric&lt;/td&gt;&lt;td&gt;Clapton&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
+
+Class  HTML Element
+ElementoTabela     
+ElementoLinha  
+ElementoCelula     
+
+ElementoLinha trElement = new ElementoLinha();
+trElement.Atributos.Adicionar("align", "right");
+trElement.Atributos.Adicionar("valign", "middle");
+
+&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;
+
+Each element has the property "Atributos." This property allows it to be implemented any HTML property in the elements. "Id", "name", "class", "style", "colspan", "rowspan", ...
+Creating a structure 
+
+ElementoTabela table = new ElementoTabela();
+table.Atributos.Adicionar("style", "border-collapse:collapse; border-spacing:0; width:100%;");
+
+ElementoLinha header = new ElementoLinha();
+header.Atributos.Adicionar("style", "background-color:#4CAF50; color:white;");
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "First Name",
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "Last Name"
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "Savings"
+});
+
+table.LinhaCabecalho = header;
+
+List&amp;lt;ElementoLinha&amp;gt; tableLines = new List&amp;lt;ElementoLinha&amp;gt;();
+
+AtributosElemento propertyFirstname = new AtributosElemento();
+propertyFirstname.Adicionar("style", "font-weight:bold");
+
+int i = 0;
+foreach (User user in users)
+{
+    ElementoLinha lineTr = new ElementoLinha();
+
+    if ((i % 2) == 0)
+    {
+        lineTr.Atributos.Adicionar("style", "background-color:#f2f2f2");
+    }
+    i++;
+
+    ElementoCelula tdFirstname = new ElementoCelula()
+    {
+        Valor = user.Firstname,
+        Atributos = propertyFirstname
+    };
+
+    ElementoCelula tdLastname = new ElementoCelula()
+    {
+        Valor = user.Lastname
+    };
+
+    ElementoCelula tdSavings = new ElementoCelula()
+    {
+        Valor = user.Savings
+    };
+
+    tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
+    tdSavings.Atributos.Adicionar("align", "right");
+
+    lineTr.ListaCelula.Add(tdFirstname);
+    lineTr.ListaCelula.Add(tdLastname);
+    lineTr.ListaCelula.Add(tdSavings);
+
+    table.ListaLinha.Add(lineTr);
+}
+
+GeradorTabelaHtml geradorTabelaHtml = new GeradorTabelaHtml();
+
+return geradorTabelaHtml.Criar(table);
+
+// Return
+&lt;table&gt;&lt;/table&gt;
+    
+        
+        
+        
+    
+        
+        
+        
+        
+    
+    
+        
+        
+        
+    
+    
+        
+        
+        
+    
+    
+        
+        
+        
+    
+&lt;table style="border-collapse: collapse; border-spacing: 0; width: 100%;"&gt;&lt;tbody&gt;&lt;tr style="background-color: #4CAF50; color: white;"&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr style="background-color: #f2f2f2;"&gt;&lt;td style="font-weight: bold;"&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td align="right" style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-weight: bold;"&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td align="right" style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
+
+Creating a structure &amp;lt;html&amp;gt;
+
+In addition to the basic elements of a table structure, there is the implementation of another class where you can inform css classes to be used in the &amp;lt;style&amp;gt; tag.
+
+&amp;lt;html&amp;gt;
+    &amp;lt;head&amp;gt;
+        &amp;lt;style type="text/css"&amp;gt;[...]&amp;lt;/style&amp;gt;
+    &amp;lt;head&amp;gt;
+    &amp;lt;body&amp;gt;
+        [...]&lt;table&gt;&lt;/table&gt;
+    &amp;lt;body&amp;gt;
+&amp;lt;/html&amp;gt;
+
+ElementoHTMLTabela htmlElement = new ElementoHTMLTabela();
+htmlElement.ClassesCSS.Adicionar(".customTable", "border-collapse:collapse; border-spacing:0; width:100%;"); // Custom class for table
+htmlElement.ClassesCSS.Adicionar("th", "background-color:#4CAF50; color:white;"); // Header
+htmlElement.ClassesCSS.Adicionar("tr:nth-child(even)", "background-color: #f2f2f2"); // Striped table
+htmlElement.ClassesCSS.Adicionar("td:first-child", "font-weight: bold"); // First Name in bold
+htmlElement.ClassesCSS.Adicionar("td:last-child", "text-align: right"); // Savings aligned right
+
+ElementoTabela table = new ElementoTabela();
+table.Atributos.Adicionar("class", "customTable");
+
+ElementoLinha header = new ElementoLinha();
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "First Name",
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "Last Name"
+});
+
+header.ListaCelula.Add(new ElementoCelula()
+{
+    Valor = "Savings"
+});
+
+table.LinhaCabecalho = header;          
+
+foreach (User user in users)
+{
+    ElementoLinha lineTr = new ElementoLinha();
+
+    ElementoCelula tdFirstname = new ElementoCelula()
+    {
+        Valor = user.Firstname
+    };
+
+    ElementoCelula tdLastname = new ElementoCelula()
+    {
+        Valor = user.Lastname
+    };
+
+    ElementoCelula tdSavings = new ElementoCelula()
+    {
+        Valor = user.Savings
+    };
+
+    tdSavings.Atributos.Adicionar("style", "color:" + ((user.Savings &amp;gt;= 100) ? "green" : "red"));
+
+    lineTr.ListaCelula.Add(tdFirstname);
+    lineTr.ListaCelula.Add(tdLastname);
+    lineTr.ListaCelula.Add(tdSavings);
+
+    table.ListaLinha.Add(lineTr);
+}
+
+htmlElement.Tabela = table;
+
+GeradorTabelaHtml geradorTabelaHtml = new GeradorTabelaHtml();
+
+return geradorTabelaHtml.Criar(htmlElement);
+
+// Return
+&amp;lt;html&amp;gt;
+    &amp;lt;head&amp;gt;
+        &amp;lt;style type="text/css"&amp;gt;
+            .customTable {
+                border-collapse:collapse;
+                border-spacing:0;
+                width:100%;
+            } 
+            th {
+                background-color:#4CAF50; color:white;
+            } 
+            tr:nth-child(even) {
+                background-color: #f2f2f2
+            }
+            td:first-child {
+                font-weight: bold
+            } 
+            td:last-child {
+                text-align: right
+            }  
+        &amp;lt;/style&amp;gt;
+    &amp;lt;/head&amp;gt;
+    &amp;lt;body&amp;gt;
+        
+            
+                
+                
+                
+            
+            
+                
+                
+                
+            
+            
+                
+                
+                
+            
+            
+                
+                
+                
+            
+            
+                
+                
+                
+            
+        &lt;table class="customTable"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th&gt;First Name&lt;/th&gt;&lt;th&gt;Last Name&lt;/th&gt;&lt;th&gt;Savings&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Peter&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: red;"&gt;10&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Lois&lt;/td&gt;&lt;td&gt;Griffin&lt;/td&gt;&lt;td style="color: green;"&gt;150&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Joe&lt;/td&gt;&lt;td&gt;Swanson&lt;/td&gt;&lt;td style="color: green;"&gt;300&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Cleveland&lt;/td&gt;&lt;td&gt;Brown&lt;/td&gt;&lt;td style="color: red;"&gt;25&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
+    &amp;lt;/body&amp;gt;
+&amp;lt;/html&amp;gt;
+
+HTML attributes
+&lt;/td&gt;&lt;td&gt;
+
+ElementoCelula tdElement = new ElementoCelula();
+tdElement.Atributos.Adicionar("id", "lineOne", [bool SubscribePropertyIfExists = true]); // If the property already exists, the value should be overridden?
+tdElement.Atributos.Adicionar("style", "border: 1px solid black");
+tdElement.Atributos.Adicionar("align", "right");
+
+// "Value" is an object, and therefore accepts any data type
+cel.Valor = string.Empty;
+//or
+cel.Valor = decimal.MaxValue;
+//or
+cel.Valor = double.MinValue;
+
+&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
+
+ElementoTabela tableElement = new ElementoTabela();
+tableElement.Atributos.Adicionar("border", 1);
+tableElement.Atributos.Adicionar("style ", "width:100%");
+
+&amp;lt;html&amp;gt;
+
+ElementoHTMLTabela htmlElement = new ElementoHTMLTabela();
+htmlElement.ClassesCSS.Adicionar(".customTable", "border-collapse:collapse; border-spacing:0; width:100%;"); // Custom Class for table
+htmlElement.ClassesCSS.Adicionar("th", "background-color:#4CAF50; color:white;"); // Header
+htmlElement.ClassesCSS.Adicionar("tr:nth-child(even)", "background-color: #f2f2f2"); // Striped table
+htmlElement.ClassesCSS.Adicionar("td:first-child", "font-weight: bold"); // First Name in bold
+htmlElement.ClassesCSS.Adicionar("td:last-child", "text-align: right"); // Savings aligned right
+
+Pendencies
+
+    Methods translate to English;
+    Allow the geradorTabelaHtml.Criar() render multiple tables at the same time;
+    Correct implementation of exceptions.
+
+

 The wiki uses [Markdown](/p/softbyte-htmltablegenerator/wiki/markdown_syntax/) syntax.

&lt;table&gt;
&lt;/table&gt;&lt;/pre&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juliano Paulo Menzen</dc:creator><pubDate>Thu, 06 Oct 2016 15:23:21 -0000</pubDate><guid>https://sourceforge.net681f4c6018aa71e7532966dabe76e218298130b8</guid></item><item><title>Home modified by Juliano Paulo Menzen</title><link>https://sourceforge.net/p/softbyte-htmltablegenerator/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/softbyte-htmltablegenerator/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/julianomenzen/"&gt;Juliano Paulo Menzen&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-57f66990c4d1042a65d88bb4" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Juliano Paulo Menzen</dc:creator><pubDate>Thu, 06 Oct 2016 15:11:12 -0000</pubDate><guid>https://sourceforge.net289f68e097293a9b82f9df94f941c309f911967d</guid></item></channel></rss>