From an MSDN article on the subject, we can see that we create a TableHeaderRowthat contains TableHeaderCells.
But they add the table header like this:
myTable.Row.AddAt(0, headerRow);
which outputs the HTML:
<table id="Table1" ... >
<tr>
<th scope="column" abbr="Col 1 Head">Column 1 Header</th>
<th scope="column" abbr="Col 2 Head">Column 2 Header</th>
<th scope="column" abbr="Col 3 Head">Column 3 Header</th>
</tr>
<tr>
<td>(0,0)</td>
<td>(0,1)</td>
<td>(0,2)</td>
</tr>
...
and it should have <thead> and <tbody> (so it works seamless with tablesorter) 🙂
<table id="Table1" ... >
<thead>
<tr>
<th scope="column" abbr="Col 1 Head">Column 1 Header</th>
<th scope="column" abbr="Col 2 Head">Column 2 Header</th>
<th scope="column" abbr="Col 3 Head">Column 3 Header</th>
</tr>
</thead>
<tbody>
<tr>
<td>(0,0)</td>
<td>(0,1)</td>
<td>(0,2)</td>
</tr>
...
</tbody>
the HTML aspx code is
<asp:Table ID="Table1" runat="server" />
How can I output the correct syntax?
Just as information, the GridViewcontrol has this built in as we just need to set the Accesbility and use the HeaderRow
gv.UseAccessibleHeader = true;
gv.HeaderRow.TableSection = TableRowSection.TableHeader;
gv.HeaderRow.CssClass = "myclass";
but the question is for the Table control.
Just found a way to do this, we do need to use our own controls that inherit from the base control, for example a
Tableworks fine with
DataGridas wellthen for example you just need to use it instead the base control:
and in aspx page, just add a place holder like: