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

需求介绍:在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_id="+DataBinder.Eval(Container, "DataItem.ID") % > ' Text="明细"> </ asp:HyperLink >
52 </ td >
53 </ tr >
54 </ ItemTemplate >
55 < FooterTemplate >
56 </ table >
57 </ FooterTemplate >
58 </ asp:Repeater >

后台代码如下图所示:

后台代码
   
     
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 }

你可能感兴趣的:(asp.net)