I am trying to create a table with some dynamic columns based on week counts of months. I have to create it dynamically, because every year, week numbers of months can be different.
GregorianCalendar _gc = new GregorianCalendar();
string htmlCode = "<table><thead><tr>";
for (int m = 1; m <= 12; m++)
{
int weekCount = //THAT'S THE MISSING PART
htmlCode += "<th colspan=\"" + weekCount + "\" style=\"padding: 0; margin: 0; border: none; width: 8.3333%;\">" + m + "</th>";
}
htmlCode += "</tr><tr>";
for (int w = 1; w <= 52; w++)
{
htmlCode += "<th style=\"padding: 0; margin: 0; border: none; width: 1.923%;\">" + w + "</th>";
}
htmlCode += "</tr></thead></table>";
In first loop, I am creating table's header's first line (months). And in the second loop, I am creating header's second line (weeks). I need week numbers of months for correctly colspan. Output should be something like this:
table {
width: 1000px;
text-align: center; margin: 0 auto; padding: 0;
}
<table border="1">
<thead style="padding: 0; margin: 0; width: 100%;">
<tr style="padding: 0; margin: 0;">
<th colspan="5" style="padding: 0; margin: 0; border: none; width: 8.3333%;">JAN</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">FEB</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">MAR</th>
<th colspan="5" style="padding: 0; margin: 0; border: none; width: 8.3333%;">APR</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">MAY</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">JUN</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">JUL</th>
<th colspan="5" style="padding: 0; margin: 0; border: none; width: 8.3333%;">AUG</th>
<th colspan="5" style="padding: 0; margin: 0; border: none; width: 8.3333%;">SEP</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">OCT</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">NOV</th>
<th colspan="4" style="padding: 0; margin: 0; border: none; width: 8.3333%;">DEC</th>
</tr>
<tr style="padding: 0; margin: 0;">
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">5</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">5</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">5</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">5</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">1</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">2</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">3</th>
<th style="padding: 0; margin: 0; border: none; width: 1.923%;">4</th>
</tr>
</thead>
</table>