• ASP.NET(C#)--Repeater中生成“序号”列


    需求介绍:在Repeater(Table)中加入“序号”列,从1开始自增,步长为1。

    思路:因为“序号”跟Repeater的行号有关,所以要在Repeater的ItemDataBound事件中输出“序号”的值。为方便给“序号”赋值,我们使用Label控件。

    注意:Repeater的ItemIndex是从0开始的,而“序号”列是从1开始的,所以ItemIndex要加1。

    前台代码如下图所示:

    前台代码
    <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
                <HeaderTemplate>
                    <table border="1" style="border-color: #000000; border-collapse: collapse;  100%;
                        text-align: center; word-spacing: normal; font-size: 13px;" cellpadding="5">
                        <tr height="20" style="background-color: #66CCFF; font-weight: bold;">
                            <td>
                                序号
                            </td>
                            <td>
                                合同号
                            </td>
                            <td>
                                设备名称
                            </td>
                            <td>
                                设备型号
                            </td>
                            <td>
                                数量
                            </td>
                            <td>
                                入库时间
                            </td>
                            <td>
                                操作
                            </td>
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr style='background-color: <%#(Container.ItemIndex%2==0)?"#eeeeee":"#ffffff"%>'
                        onmouseover="this.style.background='#ddeeff'" onmouseout="this.style.background='<%#(Container.ItemIndex%2==0)?"#eeeeee":"#ffffff"%>'">
                        <td>
                            <asp:Label ID="no" runat="server" Text=""></asp:Label>
                        </td>
                        <td>
                            <%# DataBinder.Eval(Container, "DataItem.contract_no")%>
                        </td>
                        <td>
                            <%# DataBinder.Eval(Container, "DataItem.assets_name")%>
                        </td>
                        <td>
                            <%# DataBinder.Eval(Container, "DataItem.assets_model")%>
                        </td>
                        <td>
                            <%# DataBinder.Eval(Container, "DataItem.assets_amount")%>
                        </td>
                        <td>
                            <%# DataBinder.Eval(Container, "DataItem.in_time")%>
                        </td>
                        <td>
                            <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%#"storage_details.aspx?storage_id="+DataBinder.Eval(Container, "DataItem.ID") %>' Text="明细"></asp:HyperLink>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

    后台代码如下图所示:

    后台代码
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Label lb_no = (Label)e.Item.FindControl("no");
                lb_no.Text = (1 + e.Item.ItemIndex).ToString();
            }
        }
  • 相关阅读:
    Java
    Java
    Java
    Java
    NYOJ 127 星际之门(一)
    BNUOJ 1013 YC大牛的判题任务
    BNUOJ 1011 人工智能?
    HDU 1035 Robot Motion
    HDU 1214 圆桌会议
    NYOJ 86 找球号(一)
  • 原文地址:https://www.cnblogs.com/mengfff/p/4906769.html
Copyright © 2020-2023  润新知