当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 为DataGrid中的行增加序号

ASP.NET
DataList绑定到Row[]行集合的问题的方法
充分利用ASP.NET的三种缓存提高站点性能的注意方法
asp.net下文件上传和文件删除的代码
asp.net下日期加减的方法
asp.net动态载入用户控件的方法
asp.net下定制日期输出格式的代码
C#正则用法两例
asp.net图片上传生成缩略图的注意事项
ASP.NET中高质量缩略图的生成代码
DataList 中动态绑定服务器子控件的代码
asp.net下URL网址重写成.html格式、RSS、OPML的知识总结
使用UserControl做网站导航条的思路 分析
ASP.NET中使用AspnetAccessProvider
asp.net下实现URL重写技术的代码
为大家经常为md5加密过的常用admin,admin888,0000密码
利用MS AJAX注册Javascript命名空间并创建类
asp.net(c#)中取得文件物理路径
垃圾代码二三行 ASPX小马
.NET 2.0获取配置文件AppSettings和ConnectionStrings节数据的方法
.NET c# 单体模式(Singleton)

ASP.NET 中的 为DataGrid中的行增加序号


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 209 ::
收藏到网摘: n/a


有时,你需要为在DataGrid中显示每行的序号,如果使用Oracle数据库,你可以利用RowNum在Select命令中构造行序号,然后直接绑定到DataGrid,但是如果用的是SQL Server数据库,那么,该如何为Datagrid中增加行序号呢?
ADO.NET中通过DataColumn的3个属性来支持自动增量列:AutoIncrement,AutoIncrementSeed,AutoIncrementStep。只要将DataColumn的AutoIncrement设置为True即可以为DataTable的新行生成自动增量值。看个例子:DataSet ds=new Dataset();
DataTable dt=ds.Tables.Add("Orders");
DataColumn col=dt.Columns.Add("OrderID",typeof(int));
col.AutoIncrement=true;
col.AutoIncrementSeed=-1;
col.AutoIncrementStep=-1;
col.ReadOnly=true; 上面OrderID列被设为自动增量,注意后面接下来两句,其值都被设为-1,其中有一定的原因。 AutoIncrementSeed和AutoIncrementStep控制着如何生成新值。当遇到空表时,ADO.NET 会将存储在AutoIncrementSeed中的值赋给第一行自动增量列,接着AutoIncrementStep生成后续的自动增量值。原因:ADO.NET中生成的自动增量值仅仅是一个占位符,在数据库中会生成真正的新值,显示出来的仅仅是未提交给数据库的新行自动增量值,数据库可能会根据生成的值来生成不同的值。AutoIncrementSeed和AutoIncrementStep都设为-1,可以确保生成的占位符值不会出现在数据库。所以在使用AutoIncrement的时候应将AutoIncrementSeed和AutoIncrementStep都设为-1。