【问题标题】:Append <th> with <td> using repeater in same column使用中继器在同一列中附加 <th> 和 <td>
【发布时间】:2021-11-24 09:22:15
【问题描述】:

我在网页上使用转发器呈现数据,但数据显示的顺序不正确。

<asp:Repeater ID="RepeatInformation" runat="server">  
        <HeaderTemplate>
<table id="tbldata" border="1" cellspacing="0" rules="all">  
        <tr style= "background-color: #eee;">
            <th scope="col" style="width: 90px">Date</th>
            <th scope="col">09:00</th>
            <th scope="col">09:30</th>
            <th scope="col">10:00</th>
            <th scope="col">10:30</th>
            <th scope="col">11:00</th>
            <th scope="col">11:30</th>
            <th scope="col">12:00</th>
            <th scope="col">12:30</th>
            <th scope="col">13:00</th>
            <th scope="col">13:30</th>
            <th scope="col">14:00</th>
            <th scope="col">14:30</th>
            <th scope="col">15:00</th>
            <th scope="col">15:30</th>
            <th scope="col">16:00</th>
            <th scope="col">16:30</th>
            <th scope="col">17:00</th>
            <th scope="col">17:30</th>
            <th scope="col">18:00</th>
        </tr>
            </HeaderTemplate>
        <ItemTemplate>  
            <tr>  
                <td><%# Eval("Date") %></td>
                <td><%# Eval("Time1") %></td>  
                <td><%# Eval("Time2") %></td>  
                <td><%# Eval("Time3") %></td> 
                <td><%# Eval("Time4") %></td> 
                <td><%# Eval("Time5") %></td> 
                <td><%# Eval("Time6") %></td> 
                <td><%# Eval("Time7") %></td> 
                <td><%# Eval("Time8") %></td> 
                <td><%# Eval("Time9") %></td> 
                <td><%# Eval("Time10") %></td> 
                <td><%# Eval("Time11") %></td> 
                <td><%# Eval("Time12") %></td> 
                <td><%# Eval("Time13") %></td>
                <td><%# Eval("Time14") %></td>
                <td><%# Eval("Time15") %></td>
                <td><%# Eval("Time16") %></td>
                <td><%# Eval("Time17") %></td>
                <td><%# Eval("Time18") %></td> 
                <td><%# Eval("Time19") %></td>
            </tr> 
                </table>
        </ItemTemplate>
</asp:Repeater> 

我已尝试使用以下脚本来执行此操作,该脚本引用自 here。

<%--<script>
        $("#tbldata th").each(function (i, val) {
            var th = $(this);
            var selector = "td:nth-child(" + (i + 1) + ")";
            th.parent().siblings().find(selector).attr("#tbldata", th.attr("#tbldata"));
        });
    </script>--%>

Currently the data is showing like this

请有人建议我如何以正确的顺序列显示数据。

【问题讨论】:

  • 请解释正确的顺序是什么。
  • 该值应显示在每列下方。就像我可以说每个 一个
  • 您正在创建多个表,对吧? HeaderTemplate 中有一个table,ItemTemplate 中有一个。也许使用 GridView,它是一个表格?
  • 正如@VDWWD 所说,您正在创建两个表,因此包含实际数据的表的列宽与上面的表不同。
  • 但是如何在同一个表中同时使用表头和数据呢?

标签: asp.net asprepeater


【解决方案1】:

将结束的&lt;/table&gt;标签从&lt;ItemTemplate&gt;移动到FooterTemplate:

<HeaderTemplate>
    <table>
    <tr>
        ...
    </tr>
</HeaderTemplate>
<ItemTemplate>
    <tr>
        ...
    </tr>
</ItemTemplate>
<FooterTemplate>
    </table>
</FooterTemplate>

【讨论】:

  • 它有效。非常感谢。
猜你喜欢
相关资源
最近更新 更多
热门标签