Добавить "th" для строки в gridview - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь достичь ниже HTML в Gridview, но не получаю требуемых результатов

<tbody>
    <tr>
        <th element="row">Name</th>
        <td>Data 1 </td>
        <td>Data 2 </td>
        <td>Data 3</td>
    </tr>
    <tr></tr>
<tbody>

Я борюсь с <th element="row">Name</th> областью. В моем OnRowDataBound (удален некоторый код для ясности) у меня есть следующее

protected void gv1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        TableCellCollection cell = e.Row.Cells;
        cell[0].Attributes.Add("th", "element");
    }
}

, но это выдает следующее HTML

<td th="element">

Другие строки, кажется, в порядке.

Мой встроенный код:

<Columns>
    <asp:TemplateField HeaderText="Name">
         <ItemTemplate>
              <asp:Label ID="label1" runat="server"></asp:Label>
         </ItemTemplate>
     </asp:TemplateField>
 ....

Как мне достичь требуемого HTML?

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Используйте следующий код для создания строки заголовка th

protected void gv1_OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.Header)
    {
        e.Row.TableSection = TableRowSection.TableHeader;
    }
}
0 голосов
/ 31 марта 2020

<th> необходимо определить для уникального <tr>, поскольку <tr> означает строку.

Пример, показанный здесь: https://www.w3schools.com/html/html_tables.asp

...