方法一:
1.在gridview控件中添加序号列,并添加OnRowDataBound事件
<asp:GridView ID="givQueryRequest" runat="server" OnRowDataBound="givQueryRequest_RowDataBound">
<Columns>
<asp:BoundField HeaderText="序号" >
<ItemStyle HorizontalAlign="Center" />
<HeaderStyle HorizontalAlign="Center" Width="30px" />
</asp:BoundField>
</Columns>
</asp:GridView>
2.编写方法
protected void givQueryRequest_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Text = (e.Row.RowIndex + 1).ToString();
//如果使用了分页控件且希望序号在翻页后不重新计算,使用下面方法
//int indexID = (AspNetPager1.CurrentPageIndex - 1) * AspNetPager1.PageSize + e.Row.RowIndex + 1;
//e.Row.Cells[0].Text = indexID.ToString();
}
}
在这种方法中,如果使用gridview控件自带的分页功能添加序号列后,每一页的序号都会从1开始。方法二:
用这种方法就可以解决方法一的不足,即使是用的gridview控件的分页功能,在下一页的序号还会根据前一页的序号递增。
<asp:GridView ID="givQueryRequest" runat="server" >
<Columns>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<%#(Container.DataItemIndex+1).ToString()%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
</Columns>
</asp:GridView>