使用GridView有段时间了,为了清楚地显示出表格数据的记录数,经常要用到表格里自动编号(不是在数据库里设的)。总结了一下,在服务端和客户端都可以实现的,以下是主要针对带分页的GridView的处理,如果不分页就更容易了。
<一>、从服务端添加控制
首先在客户端页面中给GridView中添加要显示自动编号的模板列:
- <asp:TemplateField HeaderText="序号">
- <ItemTemplate>
- </ItemTemplate>
- <ItemStyle Width="30px" />
- <HeaderStyle Width="30px" />
- </asp:TemplateField>
然后在后台CS代码中GridView的RowDataBound事件中写入控制代码:
- protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
- {
- if (e.Row.RowIndex != -1)
- {
- int indexID = this.GridView1.PageIndex * this.GridView1.PageSize + e.Row.RowIndex + 1;
- e.Row.Cells[0].Text = indexID.ToString();
- }
- }
<二>、从客户端添加控制
这个相对简单一点,在添加模板列的同时,就直接加入自动编号的处理:
- <asp:TemplateField HeaderText="序号">
- <ItemTemplate>
- <%# this.GridView1.PageIndex * this.GridView1.PageSize + Container.DataItemIndex + 1 %>
- </ItemTemplate>
- <ItemStyle Width="30px" />
- <HeaderStyle Width="30px" />
- </asp:TemplateField>
注:分页控制采用的是GridView自带的分页方法。