经典、无码、o(∩_∩)o...

GridView序号问题


http://www.cnblogs.com/aijun/archive/2011/03/15/1984563.html

GridView序号问题

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>

posted on 2011-05-31 10:31 chenlh 阅读(162) 评论(0)  编辑  收藏 所属分类: .NET


只有注册用户登录后才能发表评论。


网站导航: