给Repeater、Datalist和Datagrid增加自动编号列

内容
1 Taye
2 BOx
3 Glass
4 StarCraft

一、正序
A、AllowPaging=False情况下,使用以下方法就可以实现:

1<asp:DataGrid id="DataGrid1" runat="server">
2    <Columns>
3     <asp:TemplateColumn>
4      <ItemTemplate>
5       <%# Container.ItemIndex + 1%>
6      </ItemTemplate>
7     </asp:TemplateColumn>
8    </Columns>
9 </asp:DataGrid>

不过更有趣的方法是使用这个方法:

1<asp:DataGrid id="DataGrid1" runat="server">
2    <Columns>
3     <asp:TemplateColumn>
4      <ItemTemplate>
5       <%# this.DataGrid1.Items.Count + 1%>
6      </ItemTemplate>
7     </asp:TemplateColumn>
8    </Columns>
9</asp:DataGrid>

也许有些人会觉得很奇怪为什么Items.Count会这样,而不是出来全部总合,但如果你了解绑定的过程时就容易理解。[从上面来看就是在ItemCreated事件中进行绑定所以得到的Items.Count刚好是当前的序号]

B、AllowPaging="True"下,如果DataGrid支持分页则可以如下:

1<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
2    <Columns>
3     <asp:TemplateColumn>
4      <ItemTemplate>
5       <%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
6      </ItemTemplate>
7     </asp:TemplateColumn>
8    </Columns>
9</asp:DataGrid>

二、倒序的方法

序号 内容
4 Taye
3 BOx
2 Glass
1 StarCraft

由上面可以知道使用this.DataGrid1.Items.Count - Container.ItemIndex + 1方法是不可能实现的,得到值而且全会为1,分页的情况下更是一样.所以一开始我们就要取得数据源的行数:

 1private int rowscount = 0;
 2         protected int RowsCount
 3         {
 4              get{ return rowscount;}
 5              set{ this.rowscount = value; }
 6         }
 7     
 8         private void Page_Load(object sender, System.EventArgs e)
 9         {
10              // 在此处放置用户代码以初始化页面
11              if(!IsPostBack)
12                   this.BindData();
13         }
14         private void BindData()
15         {
16              SqlConnection cn = new SqlConnection("server=(local);database=NorthWind;uid=sa;pwd=");
17              string str=@"SELECT Employees.EmployeeID, Orders.EmployeeID
18                                 FROM Employees INNER JOIN
19                       Orders ON Employees.EmployeeID = Orders.EmployeeID ";
20              SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);
21              DataSet ds = new DataSet();
22              sqlda.Fill(ds);
23              this.RowsCount = ds.Tables[0].Rows.Count;
24              this.DataGrid1.DataSource = ds;
25              this.DataGrid1.DataBind();
26}
1<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
2                            <Columns>
3                                   <asp:TemplateColumn>
4                                          <ItemTemplate>
5                                                 <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>
6                                          </ItemTemplate>
7                                   </asp:TemplateColumn>
8                            </Columns>
9                     </asp:DataGrid>

转载于:https://www.cnblogs.com/xivi/archive/2005/08/22/220117.html

(转贴)给Repeater、Datalist和Datagrid增加自动编号列相关推荐

  1. 给Repeater、Datalist和Datagrid增加自动编号列

    号 内容 1 Taye 2 BOx 3 Glass 4 StarCraft 一.正序 A.AllowPaging=False情况下,使用以下方法就可以实现: 1<asp:DataGrid id= ...

  2. 给Repeater、Datalist和Datagrid增加自动编号

    给Repeater.Datalist和Datagrid增加自动编号 给Repeater.Datalist和Datagrid增加自动编号列号 内容 1  Taye 2  BOx 3  Glass 4  ...

  3. 如何给DataGrid添加自动增长列

    作者: cuike519的专栏   http://blog.csdn.net/cuike519/ 我想我们都知道在数据库中如何添加自增长列,我们可以将这个自增长列绑定到DataGrid上使得用户方便的 ...

  4. 给datalist加自动编号(解决博客的第XX楼)

    前些天想怎样给datalist加自动编号,考察了一下分页的原理,写了这个: 在编辑模版(HTML)中加入列 <%# (num-1)*32+Container.ItemIndex + 1%> ...

  5. [导入]关于DataGrid等控件中的自动编号

    作者:Taye 论坛中有很多人问关于DataGrid的自动编号问题,但在论坛中我已经回复过好几次,但还是不断有人问 序号 内容 1 Taye 2 BOx 3 Glass 4 StarCraft 一.正 ...

  6. 在使用Repeater、DataList 或 DataGrid 的模板列表时,根据不同状态,显示不同颜色

    我们经常使用用于类似 Repeater.DataList 或 DataGrid 的模板列表,有时候需要根据不同状态,显示不同字帖颜色,以提示用户. 例如:在datagrid中,紧急显示红色,一般显示黑 ...

  7. 数据绑定--Repeater, DataList, or GridView?

    前些天在CSDN上看到一个比较老的帖子,讨论的是.NET中数据绑定应用什么控件更好.在社区中我也看到有朋友问是否应该使用这些控件的问题.我来说说我的想法.希望对新手有帮助. 先来看看主要的几个数据绑定 ...

  8. 关与DataList和DataGrid的区别和重要性

    DataGrid/DataList在ASP.NET中的重要性,想必就不用我再强调了,凡显示Table类型的数据,大多会使用这两个控件(当然,如果谁还像ASP那样写ASP.NET,那我也没有办法),所以 ...

  9. 给 DataGrid 增加序列号的两种方法

    给 DataGrid 增加序列号的两种方法 ??? 在页面显示一个 DataGrid 的时候,常常需要显示一个序列,如图所示: ??? ??? 同时根据 DataGrid 的过滤条件不同,需要也发生相 ...

最新文章

  1. js数组按照下标对象的属性排序
  2. [Java学习]Striing StringBuffer StringBuilder 的比
  3. 服务器操作系统策略,Windows操作系统组策略应用全攻略(2)服务器教程 -电脑资料...
  4. JAVA-单例模式的几种实现方式
  5. 【随笔】通用近似定理
  6. Exchange 2007 申请多域名证书
  7. 一步一步学Silverlight 2系列(6):键盘事件处理
  8. 2020牛客国庆集训派对day4 Emergency Evacuation
  9. iOS 15 中的 Swift 和 SwiftUI
  10. python中文列名报错__mssql.MSSQLDatabaseException:(207,b“无效列名'Hello'。DBLib错误消息20018...
  11. html+移动端图片点击放大,移动端点击图片放大特效PhotoSwipe.js插件实现
  12. java 调用 swf 文件上传,swfupload 文件 上传
  13. windows 两台电脑通过移动热点传输文件
  14. 维语翻译_维语翻译中文转换器_维汉翻译通软件app下载安装
  15. 草稿 22.10.10 !!!!!! YUYU
  16. Ant实现自动打包部署
  17. bzoj4564: [Haoi2016]地图 仙人掌的圆方树 莫队 分块
  18. IT架构师_隽语集(Design Thinking _0201)
  19. 机器学习之深度学习入门
  20. 第14章_视图(创建视图、查看视图、更新视图的数据、修改、删除视图)

热门文章

  1. 转载-IronPython入门:什么是IronPython?
  2. 独舞风雪夜 跟我学mvc系列
  3. 运动目标的背景建模-混合高斯背景建模和KNN模型建模的OpenCV代码实现
  4. python中setup函数的用法_Vue 3 setup 函数
  5. pacman安装php的位置,PacMan 01——地图的搭建
  6. 2019全新学习路线图发布
  7. leetcode9 Palindrome Number 回数
  8. IOS之--UI进阶--多控制器管理第一天
  9. 怎么样用javascript获取触发事件的对象
  10. centos7.3修改mysql密码_Centos7.3下mysql5.7.18安装并修改初始密码的方法