为GridView添加序号列,且支持分页连续累计显示,废话不多说,直接上代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div> <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="id"
DataSourceID="SqlDataSource1" Width="100%" PageSize="">
<Columns>
<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<asp:Literal ID="Literal1" runat="server" Text='<%# (Container.DataItemIndex+1) %>'></asp:Literal>
</ItemTemplate>

<ItemStyle BackColor="#FFFFCC" Font-Bold="True" ForeColor="#FF3300"
Width="80px" />
</asp:TemplateField>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="plateno" HeaderText="plateno"
SortExpression="plateno" />
<asp:BoundField DataField="chassisno" HeaderText="chassisno"
SortExpression="chassisno" />
<asp:BoundField DataField="brand" HeaderText="brand" SortExpression="brand" />
<asp:BoundField DataField="model" HeaderText="model" SortExpression="model" />
<asp:BoundField DataField="owner" HeaderText="owner" SortExpression="owner" />
<asp:BoundField DataField="telno" HeaderText="telno" SortExpression="telno" />
<asp:BoundField DataField="regdate" HeaderText="regdate"
SortExpression="regdate" />
<asp:BoundField DataField="insurancecorp" HeaderText="insurancecorp"
SortExpression="insurancecorp" />
<asp:BoundField DataField="insureddate" HeaderText="insureddate"
SortExpression="insureddate" />
<asp:BoundField DataField="customertype" HeaderText="customertype"
SortExpression="customertype" />
<asp:BoundField DataField="renewalby" HeaderText="renewalby"
SortExpression="renewalby" />
<asp:BoundField DataField="csxcost" HeaderText="csxcost"
SortExpression="csxcost" />
<asp:BoundField DataField="szxcost" HeaderText="szxcost"
SortExpression="szxcost" />
<asp:BoundField DataField="sjxcost" HeaderText="sjxcost"
SortExpression="sjxcost" />
<asp:BoundField DataField="ckxcost" HeaderText="ckxcost"
SortExpression="ckxcost" />
<asp:BoundField DataField="dqxcost" HeaderText="dqxcost"
SortExpression="dqxcost" />
<asp:BoundField DataField="blxcost" HeaderText="blxcost"
SortExpression="blxcost" />
<asp:BoundField DataField="bjmpxcost" HeaderText="bjmpxcost"
SortExpression="bjmpxcost" />
<asp:BoundField DataField="otherxcost" HeaderText="otherxcost"
SortExpression="otherxcost" />
<asp:BoundField DataField="receivedsyxcost" HeaderText="receivedsyxcost"
SortExpression="receivedsyxcost" />
<asp:BoundField DataField="receivedjqxcost" HeaderText="receivedjqxcost"
SortExpression="receivedjqxcost" />
<asp:BoundField DataField="year" HeaderText="year" SortExpression="year" />
<asp:BoundField DataField="month" HeaderText="month" SortExpression="month" />
<asp:BoundField DataField="orgcode" HeaderText="orgcode"
SortExpression="orgcode" />
<asp:BoundField DataField="attr1" HeaderText="attr1" SortExpression="attr1" />
<asp:BoundField DataField="attr2" HeaderText="attr2" SortExpression="attr2" />
<asp:BoundField DataField="attr3" HeaderText="attr3" SortExpression="attr3" />
<asp:BoundField DataField="importby" HeaderText="importby"
SortExpression="importby" />
<asp:BoundField DataField="importbyid" HeaderText="importbyid"
SortExpression="importbyid" />
<asp:BoundField DataField="importdatetime" HeaderText="importdatetime"
SortExpression="importdatetime" />
</Columns>
</asp:GridView> </div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ePFEDPConnectionString %>"
SelectCommand="SELECT * FROM [T_RITargetCustomerInfo]"></asp:SqlDataSource>
</form>
</body>
</html>

简要说明一下,由于我这里是作演示,所以我直接采用数据源SqlDataSource,大家仁者见仁,智者见智吧,实现自动生成序号的方法很多,最常见的是通过添加GridView1_RowDataBound方法,然后在里面依据实际情况计算序号,我这人希望能越简单且越好用就最好了,所以我采用了上面的方法,核心代码是:(Container.DataItemIndex+1),其中Container.DataItemIndex表示当前行索引,由于索引是从0开始,所以加上1就OK了,这样整个表就有序号了,而且在分页下也是连续性的,不会出现每页从1开始的情况。

效果如下:

另外需要说明的是,如果大家不是采用数据源控件,而是自己手动去绑定数据源的情况,那就不能简单按照方面的方法,原因是Container.DataItemIndex在手动绑定数据源时,会索引并不会记住,每次绑定均会重新从0开始,所以这时候我们需要按照当前的页码来进行计算,代码也很简单,如下:

<asp:TemplateField HeaderText="序号">
<ItemTemplate>
<asp:Literal ID="Literal1" runat="server" Text='<%# ((GridView1.PageSize * GridView1.PageIndex) + Container.DataItemIndex +1) %>'></asp:Literal>
</ItemTemplate>
<ItemStyle BackColor="#FFFFCC" Font-Bold="True" ForeColor="#FF3300"
Width="80px" />
</asp:TemplateField>

更多IT相关的文章,欢迎光临我的个人网站:http://www.zuowenjun.cn/

ASP.NET 为GridView添加序号列,且支持分页连续累计显示的更多相关文章

  1. 使用模板技术处理ASP.NET中GridView额外序号列的问题

    问题描述: 现在要在一张GridView表中添加一列来显示行号,要求是显示下一页的时候能够递增而不是从新编号.数据库中的没有相关序号列 如何在软件端实现呢? 通过测试,添加以下代码即可解决需求. &l ...

  2. bootstrap-table 增加序号列(支持分页)

    columns: [ { checkbox: true }, { title: '序号', align: 'center', halign: 'center', formatter: function ...

  3. GridView,datalist添加序号列

    GridView添加序号列:这个是经常需要的一个功能 <asp:TemplateField HeaderText="序号"> <ItemTemplate> ...

  4. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...

  5. Repeater控件添加序号列

    在项目开发过程中,会经常遇到ASP.NET repeater控件添加序号列,有些新手可能还不会,网上搜集整理了一些,需要的朋友可以参考下 ASP.NET repeater添加序号列的方法 1.< ...

  6. SQL - ROW_NUMBER,Rank 添加序号列

    百度的时候查到的博客: http://blog.csdn.net/xsfqh/article/details/6663895-------------------------------------- ...

  7. element-UI el-table添加序号列时序号永远都是从1开始?

    Part.1 示例 当我们想在 el-table 中添加序号列时,如下: <el-table-column label="序号" type="index" ...

  8. xls添加 序号列技巧

    问题背景:在给xls添加一列序列时常碰到一个问题,用下拉很不科学(如果行数很多):用双击需要右边有一列不断开的数据列. 方法一:在A1 =row()回车,选择范围,快捷键 ctrl+d,   复制其文 ...

  9. jquery插件dataTables添加序号列

    官网方法实例: $(document).ready(function() {     var t = $('#example').DataTable({         "columnDef ...

随机推荐

  1. 深入学习golang(3)—类型方法

    类型方法 1. 给类型定义方法 在Go语言中,我们可以给任何类型(包括内置类型,但不包括指针和接口)定义方法.例如,在实际编程中,我们经常使用[ ]byte的切片,我们可以定义一个新的类型: type ...

  2. mysql查看被锁住的表,正在进行的进程,已经杀掉进程的方法

    mysql查看被锁的进程 //查看所有进程show processlist; //查询是否锁表show OPEN TABLES where In_use > 0; //查看被锁住的 SELECT ...

  3. error while loading shared libraries: /usr/lib64/libc.so.6: invalid ELF header

    在安装一个程序的时候提示libc.so.6过旧,但是查看libc.so的版本是最新的,于是尝试使用尝试软链接  ln -s /usr/lib64/libc.so /usr/lib64/libc.so. ...

  4. C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]

    文章摘要: 1. 通过简单DEMO.让读者理解Task和Task<T>    学习过程中,掌握async和await 2. 理解同步和异步的执行 3. Task.Factory.Start ...

  5. Scala深入浅出实战经典之 List的foldLeft、foldRight、sort操作代码实战

     Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 腾讯微云:http://url.cn/TnGbdC 3 ...

  6. 软件包管理 之 Fedora/Redhat 在线安装更新软件包,yum 篇 ── 给新手指南

    在本文中,我们主要解介绍 Fedora core 4.0 通过软件包管理工具yum来在线安装更新软件:关于apt工具应用,我们会在另外一篇中介绍: 一. yum 的使用:有些初学Linux的弟兄可能问 ...

  7. Navi.Soft30.框架.WinForm.开发手册

    阅读导航 Navi.Soft30.Core类库.开发手册 http://www.cnblogs.com/xiyang1011/p/5709489.html Navi.Soft30.框架.WinForm ...

  8. whoami 和 Who am i

    ① 两个命令在一般的情况下,似乎效果是一样的 ② 但是当你执行完su 命令切换用户后,就不一样了,who am i 显示最早login的账户,而whoami 显示切换后的账户 例如: -bash-3. ...

  9. Android 基于Message的进程间通信 Messenger完全解析

    一.概述 说到Android进程间通信,大家肯定能想到的是编写aidl文件,然后通过aapt生成的类方便的完成服务端,以及客户端代码的编写.如果你对这个过程不熟悉,可以查看Android aidl B ...

  10. ch5 MySQL 备份与恢复

    第 5 章 MySQL 备份与恢复 前言 数据库的备份与恢复一直都是 DBA 工作中最为重要的部分之一,也是基本工作之一.任何正式环境的数据库都必须有完整的备份计划和恢复测试,本章内容将主要介绍 My ...