导航

repeater控件添加序号

Posted on 2013-05-17 10:57  楓c  阅读(140)  评论(0)    收藏  举报

Repeater是我们经常用的一个显示数据集的数据控件,经常我们希望在数据前显示数据的序号,那么我们该怎么为Repeater控件添加序号呢?下面编辑为大家介绍几种常用的为Repeater控件添加序号的方法:

方法一: 利用Container.ItemIndex属性,代码如下:

<Itemtemplate > <%# Container.ItemIndex + 1% > </Itemtemplate >

方法二: 利用Repeater的Items.Count属性,代码如下:

<Itemtemplate > <%# this.Repeater.Items.Count + 1% > </Itemtemplate >

方法三: 利用JS在前台给一个Label标签赋值,代码如下:

在.aspx中添加一个Label控件,用来显示序号。

<Label ID="label" runat="server" ></Label >

JS代码:

<body onload="show()" > <Script Language="javascript" > function show() { var bj = document.all.tags("Label经解释后生成的Html标签"); 
for (i=0;i<obj.length;i++) { document.all["Label经解释后生成的Html标签"][i].innerHTML=i+1; } } </script >

该方法需注意的地方比较多,不推荐使用。 方法四:在后台中实现,代码如下: 在.aspx里添加一个Label控件

<asp:Label id="Label1" runat="server" ></asp:Label >

在.cs里添加代码:

void InitializeComponent() 
{       
    this.Repeater1.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandle(this.Repeater1_ItemDataBound);        
    this.Load += new System.EventHandler(this.Page_Load); 
} 
void Repeater1_ItemDataBound(object source, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{ 
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)    
    {     
        ((Label)e.Item.FindControl("Label1")).Text = Convert.ToString(e.Item.ItemIndex + 1);            
    } 
}

方法五:为Repeater控件添加连续的编号,翻页后序号接前上一页的序号,代码如下:

<%# Container.ItemIndex + 1 + (this.AspNetPager.CurrentPageIndex -1)*每页的数据数量 >