为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. mysql 优化配置参数详解

    在 my.cnf 文件中 各设置参数的含义如下: innodb_data_home_dir 这是InnoDB表的目录共用设置.如果没有在 my.cnf 进行设置,InnoDB 将使用MySQL的 da ...

  2. android中xmlns:tools属性详解

    今天读到一篇总结的非常棒的文章,写的逻辑很清晰也很实用,很少见到如此棒的文章了.就原文转发过来,我把格式给整理了一下,分享给园子里的各位朋友!好久没写博客了,就为2015年的11月留份纪念吧.希望对你 ...

  3. Android 源码获取-----在Windows环境下通过Git得到Android源代码

    在学习Android的过程中,深入其源代码研究对我们来说是非常重要的,这里将介绍如何通过在Windows环境下使用Git来得到我们的Android源代码. 1.首先确保你电脑上安装了Git,这个通过  ...

  4. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  5. C#点点滴滴:枚举enum

    一.enum简介 enum为枚举类型,即一种由一组称为枚举数列表的命名常量组成的独特类型 在声明一个枚举时,要指定该枚举可以包含的一组可接受的实例值,还可以给值指定易于记忆的名称 注:如果在代码中试图 ...

  6. Android学习笔记----TimerTask中显示Toast的问题

    今天想在TimerTask的run函数中调用Toast显示一下提示信息,却总是导致程序崩溃.可是try语句块却又无法捕获到异常,代码如下: ...... Timer timer = new Timer ...

  7. SQL Server 2016 需要单独安装SSMS

    默认安装完 MSSQL 后,不自带 SSMS 的管理工具了,需要的话可以单独安装,貌似更专业了一些. https://msdn.microsoft.com/library/mt238290.aspx ...

  8. MX5 ADB 链接error: device not found

    这个问题郁闷了好久,因为事情比较忙也没时间解决.每次是开启360 一键 root 勉强调试.今天狠下心把它解决了.解决办法有以下几个步骤: 1.连接方式改成 “内置光盘”,这样手机第一次连接会安装驱动 ...

  9. This application is currently offline. To enable the application, remove the app_offline.htm file from the application r

    退出VS ,把程序中主目录里的app_offline.htm文件删除,重新启动VS 就可以了.

  10. worksteal thread pool

    worksteal的场景 对于一个线程池,每个线程有一个队列,想象这种场景,有的线程队列中有大量的比较耗时的任务堆积,而有的线程队列却是空的,现象就是有的线程处于饥饿状态,而有的线程处于消化不良的状态 ...