【问题标题】:How can I display records in multiple tables dynamically using repeater or datalist control in ASP.NET?如何在 ASP.NET 中使用转发器或数据列表控件动态显示多个表中的记录?
【发布时间】:2014-07-24 10:51:55
【问题描述】:

我想做的是在不同的 HTML 表中显示我在数据表中获得的记录。数据表中的记录有 3 列,我最多可以有 6 条记录。

我从数据库中得到的数据表如下:

Name   Age
-----------  
XYZ    30

XY1    31

XY2    32

XY3    33 

我想通过以下方式显示记录:

Name   Age   Name   Age
-----------------------
XYZ    30    XY1    31

Name   Age   Name   Age
-----------------------     
XY2    32    XY3    33


Total Strength of employees : 4

我目前在做的事情如下(虽然这不是我想要的,但是已经尝试过了):

<asp:Repeater ID="RptNCode" runat="server" OnItemCommand="RptNcode_ItemCommand" 
  OnItemDataBound="RptNCode_ItemDataBound" >
    <HeaderTemplate>
    <tr style="background-color: #507CD1; color: 
    White; font-weight: bold; text-align: center; height: 20px">
            <td style="color: White;">
                Sr.No
            </td>
            <td style="color: White; text-align: left">
                Name
            </td>
            <td style="color: White; text-align: right">
                 Age 
            </td>
        </tr>
    </HeaderTemplate>
    <ItemTemplate>
   <tr style="background-color: #ffffff; height: 20px; font-family: Arial">

            <td align="left" style="font-size: 15;">
                <asp:LinkButton ID="lnkNCode" ForeColor="#336699" runat="server" Text='<%# Eval("Name") %>'
                    CommandArgument='<%# Eval("Name") %>' CommandName="NCode"></asp:LinkButton>
            </td>
            <td align="center" style="font-size: 15; text-align: right;">
                <%#  Eval("Age")%>

            </td>
        </tr>
    </ItemTemplate>
    <AlternatingItemTemplate>
        <tr style="background-color: #ffffff; height: 20px; font-family: Arial">

            <td align="left" style="font-size: 15;">
                <asp:LinkButton ID="lnkNCode" ForeColor="#336699" runat="server" Text='<%# Eval("Name") %>'
                    CommandArgument='<%# Eval("Name") %>' CommandName="NCode"></asp:LinkButton>
            </td>
            <td align="center" style="font-size: 15; text-align: right;">
                <%#  Eval("Age")%>

            </td>
        </tr>
    </AlternatingItemTemplate>
    <FooterTemplate>
        <tr>

            <td align="right" height="40px">
                <asp:Label ID="lblTotal" runat="server" Font-Bold="true" ForeColor="#336699"></asp:Label>

            </td>
        </tr>
    </FooterTemplate>
</asp:Repeater>

我知道这是不正确的,但这是我迄今为止所做的。我正在尝试做的事情是否可能?

谢谢。

【问题讨论】:

    标签: asp.net c#-3.0 repeater datalist


    【解决方案1】:

    实际上,您与现在所拥有的非常接近。诀窍是当您关闭表格行时。尝试更多类似的方法:

    <asp:Repeater ID="RptNCode" runat="server"
        OnItemCommand="RptNcode_ItemCommand" 
        OnItemDataBound="RptNCode_ItemDataBound">
        <HeaderTemplate>
            <table>
        </HeaderTemplate>
        <ItemTemplate>
            <tr>
                <td>
                    Name
                </td>
                <td>
                    Age
                </td>
                <td>
                    Name
                </td>
                <td>
                    Age
                </td>
            </tr>
            <tr>
                <td>
                    <%# Eval("Name") %>
                </td>
                <td>
                    <%# Eval("Age") %>
                </td>
        </ItemTemplate>
        <AlternatingItemTemplate>                
                <td>
                    <%# Eval("Name") %>
                </td>
                <td>
                    <%# Eval("Age") %>
                </td>
            </tr>
        </AlternatingItemTemplate>            
        <FooterTemplate>
            </table>
        </FooterTemplate>
    </asp:Repeater>
    

    注意AlternatingItemTemplate 如何将同一表行保持在另外两列,将数据表中的下一条记录放在同一行上。然后当它再次到达ItemTemplate时,它会添加另一行标题信息并重新开始。

    【讨论】:

    • 太棒了……!!这就是我真正想要的。嘿兄弟,你能告诉我如何将名称设为链接按钮。实际上我在点击它时绑定了另一个中继器。并将员工总数计入最后。谢谢。
    • 您在上面的代码中为 LinkBut​​ton 提供的内容看起来已经正确。这不是你想要的吗?
    猜你喜欢
    • 2017-06-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-29
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多