GridView支持分页的自动编号

来源:互联网 发布:linux 命令行 复制内容 编辑:程序博客网 时间:2024/05/16 05:18

VS2005上已测试第一种方法:

第一种:

<Columns>

  <asp:TemplateField HeaderText="序号">
     <ItemTemplate>
       <%# Container.DataItemIndex + 1%>
     </ItemTemplate>
  </asp:TemplateField>

  …………………………

</Columns>

 

 

第二种:(没测试)
前台

  <asp:TemplateField HeaderText="序号">
     <ItemTemplate>
       <%# (this.Pager.CurrentPageIndex - 1) * this.Pager.PageSize + Container.DataItemIndex + 1%>
     </ItemTemplate>
  </asp:TemplateField>

后台

在RowDataBound事件中加

 if (e.Row.RowIndex > -1)
 {
  e.Row.Cells[0].Text = Convert.ToString((this.Pager.CurrentPageIndex - 1) * this.Pager.PageSize + e.Row.RowIndex  + 1);
 }

这就OK了,前台,后台只用一个即可,Pager是用的分页控件,这种分页控件都是从1开始,所以要进行减一的操作,如果用  PagedDataSource ps = new PagedDataSource(); ps.CurrentPageIndex 就不用进行减一,因为他是从0开始相加的。