zoukankan      html  css  js  c++  java
  • 如何对GridView行自动编号?

    有时候会遇到这样的情况,就是需要对GridView表格显示的结果增加一列自动递增编号列,以标示每一行的序号。要实现这一功能,首先在 GridView 第一列加入一个 TemplateField,并在 TemplateField 的 ItemTemplate 加入一个 Label (ID=lblNo),*.aspx 对应代码如下:

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"  
        DataKeyNames
    ="Flag,ID" DataSourceID="SqlDataSource1" EmptyDataText="无记录。">   
        
    <Columns>   
            
    <asp:TemplateField HeaderText="编号">   
                
    <ItemTemplate>   
                    
    <asp:Label ID="lblNo" runat="server" Text="Label"></asp:Label>   
                
    </ItemTemplate>   
                
    <ItemStyle Wrap="True" />   
                
    <HeaderStyle Wrap="False" />   
            
    </asp:TemplateField>   
        
    </Columns>   
    </asp:GridView> 

    然后在 GridView 的 RowDataBound 事件中,设定每一列的 lblNo 的 Text 属性值为 RowIndex + 1(因为 RowIndex 起始编号为 0 ,所以每一行的自动编号为 RowIndex + 1) 。

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Label olabel;
            
    if (e.Row.RowType == DataControlRowType.DataRow)
            {
                olabel 
    = (Label)e.Row.Cells[0].FindControl("lblNo");
                olabel.Text 
    = Convert.ToString(e.Row.RowIndex + 1);
            }
        }

    如果遇到有分页时,以上代码对每一页都是从1开始编号,所以对于有分页的情况需要修改成:
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            Label olabel;
            
    if (e.Row.RowType == DataControlRowType.DataRow)
            {
                olabel 
    = (Label)e.Row.Cells[0].FindControl("lblNo");
                olabel.Text 
    = Convert.ToString(GridView1.PageIndex * GridView1.PageSize + e.Row.RowIndex + 1);
            }
        }
  • 相关阅读:
    Python爬虫框架Scrapy
    继承
    c/c++面试题(7)零碎知识总结
    Linux网络编程(多人在线聊天系统)
    第一章 计算机系统漫游
    Linux网络编程(简单的时间获取服务器)
    虚函数(1)
    c/c++面试题(9)linux方向
    Linux网络编程的一般步骤(1)
    进程/线程介绍
  • 原文地址:https://www.cnblogs.com/top5/p/1868122.html
Copyright © 2011-2022 走看看