需求介绍:在Repeater(Table)中加入“序号”列,从1开始自增,步长为1。
思路:因为“序号”跟Repeater的行号有关,所以要在Repeater的ItemDataBound事件中输出“序号”的值。为方便给“序号”赋值,我们使用Label控件。
注意:Repeater的ItemIndex是从0开始的,而“序号”列是从1开始的,所以ItemIndex要加1。
前台代码如下图所示:
前台代码
1 <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound"> 2 <HeaderTemplate> 3 <table border="1" style="border-color: #000000; border-collapse: collapse; width: 100%; 4 text-align: center; word-spacing: normal; font-size: 13px;" cellpadding="5"> 5 <tr height="20" style="background-color: #66CCFF; font-weight: bold;"> 6 <td> 7 序号 8 </td> 9 <td> 10 合同号 11 </td> 12 <td> 13 设备名称 14 </td> 15 <td> 16 设备型号 17 </td> 18 <td> 19 数量 20 </td> 21 <td> 22 入库时间 23 </td> 24 <td> 25 操作 26 </td> 27 </tr> 28 </HeaderTemplate> 29 <ItemTemplate> 30 <tr style='background-color: <%#(Container.ItemIndex%2==0)?"#eeeeee":"#ffffff"%>' 31 onmouseover="this.style.background='#ddeeff'" onmouseout="this.style.background='<%#(Container.ItemIndex%2==0)?"#eeeeee":"#ffffff"%>'"> 32 <td> 33 <asp:Label ID="no" runat="server" Text=""></asp:Label> 34 </td> 35 <td> 36 <%# DataBinder.Eval(Container, "DataItem.contract_no")%> 37 </td> 38 <td> 39 <%# DataBinder.Eval(Container, "DataItem.assets_name")%> 40 </td> 41 <td> 42 <%# DataBinder.Eval(Container, "DataItem.assets_model")%> 43 </td> 44 <td> 45 <%# DataBinder.Eval(Container, "DataItem.assets_amount")%> 46 </td> 47 <td> 48 <%# DataBinder.Eval(Container, "DataItem.in_time")%> 49 </td> 50 <td> 51 <asp:HyperLink ID="HyperLink1" runat="server" Target="_blank" NavigateUrl='<%#"storage_details.aspx?storage_>>
后台代码如下图所示:
后台代码
1 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 2 { 3 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 4 { 5 Label lb_no = (Label)e.Item.FindControl("no"); 6 lb_no.Text = (1 + e.Item.ItemIndex).ToString(); 7 } 8 }
|
请发表评论