GridView控件中加自动序号,有多种实现方法,你只需要根据的实用要求来确定。总的来分为后台写法和前台写法,后台写法一般不考虑分页的情况下使用,原理就是在GridView 绑定数据时,在RowDataBound 事件中来处理。 页面的列为:
<
asp:BoundField
HeaderText
="序号"
/>
或用
<
asp:TemplateField
HeaderText
="序号"
>
< ItemTemplate > </ ItemTemplate > </ asp:TemplateField > CS代码为:
protected void GridView1_RowDataBond(object sender, GridViewRowEventArgs e)
{ if (e.Row.RowIndex >= 0) { e.Row.Cells[0].Text = Convert.ToString(e.Row.RowIndex + 1); } } 页面直接实现比如直观,知道Container.DataItemIndex 属性的含义就行:
<
asp:TemplateField HeaderText
=
"
序号
"
>
< ItemTemplate > <% # Container.DataItemIndex + 1 %> </ ItemTemplate > </ asp:TemplateField > 下面考虑的主要是分页情况下的,在ASP.NET中分页方法一般用GridView自带的分页工具和AspNetPager的比较多。GridView自带的分页写法:
<
asp:TemplateField HeaderText
=
"
序号
"
>
< ItemTemplate > <% # this .GridView1.PageIndex * this .GridView1.PageSize + GridView1.Rows.Count + 1 %> </ ItemTemplate > </ asp:TemplateField > AspNetPager分页情况下的写法为:
<
asp:TemplateField HeaderText
=
"
序号
"
>
< ItemTemplate > <% # ( this .Pager1.CurrentPageIndex - 1 ) * this .Pager1.PageSize + Container.DataItemIndex + 1 %> </ ItemTemplate > </ asp:TemplateField > |
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%# this.gvInfo.PageIndex * this.gvInfo.PageSize + this.gvInfo.Rows.Count + 1%>
</ItemTemplate>
提示:此代码测试可用