第一种,本人推荐使用的,放在cs代码实现,使用的事件是Row_DataBound
先加一个BoundField
<asp:BoundField HeaderText="序号" ></asp:BoundField>
在GridView1_RowDataBound事件中实现,分页后继续累加
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
int indexID = this.GridView1.PageIndex * this.myGridView.PageSize + e.Row.RowIndex + 1;
e.Row.Cells[0].Text = indexID.ToString();
}
}
第二种在aspx中实现 ,分页后继续累加
<asp:TemplateField HeaderText="序号" InsertVisible="False">
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center"/>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>' />
</ItemTemplate>
</asp:TemplateField>
第三种:分页后不累加
<asp:TemplateField HeaderText="序号" InsertVisible="False">
<ItemTemplate>
<%#Container.DataItemIndex+1%>
</ItemTemplate>
</asp:TemplateField>
第二中第三种都是在aspx中操作第一种在cs中操作,有利有弊吧,看个人喜好