`
varsoft
  • 浏览: 2442490 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

关于DataGrid等控件中的自动编号

阅读更多
作者:未知 请作者速与本人联系

序号<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

内容

1

Taye

2

BOx

3

Glass

4

StarCraft


一、正序

AAllowPaging=False情况下

<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>


就可以实现

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

<asp:DataGrid id="DataGrid1" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# this.DataGrid1.Items.Count + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

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

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

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

二、倒序的方法

序号

内容

4

Taye

3

BOx

2

Glass

1

StarCraft

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

.cs

private int rowscount = 0;

protected int RowsCount

{

get{ return rowscount;}

set{ this.rowscount = value; }

}

private void Page_Load(object sender, System.EventArgs e)

{

// 在此处放置用户代码以初始化页面

if(!IsPostBack)

this.BindData();

}

private void BindData()

{

SqlConnection cn = new SqlConnection("server=(local);database=NorthWind;uid=sa;pwd=");

string str=@"SELECT Employees.EmployeeID, Orders.EmployeeID

FROM Employees INNER JOIN

Orders ON Employees.EmployeeID = Orders.EmployeeID ";

SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);

DataSet ds = new DataSet();

sqlda.Fill(ds);

this.RowsCount = ds.Tables[0].Rows.Count;

this.DataGrid1.DataSource = ds;

this.DataGrid1.DataBind();

}



.aspx

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">

<Columns>

<asp:TemplateColumn>

<ItemTemplate>

<%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>

</ItemTemplate>

</asp:TemplateColumn>

</Columns>

</asp:DataGrid>

当然如果是不是分页的情况一下更容易实现了.

分享到:
评论

相关推荐

    ASP.NET中DataGrid控件的使用技巧

    在ASP.NET提供的数据访问控件中,DataGrid具有功能强大的数据展示功能。本文就实现数据排序、自动编号、产生合计项、数据导出为EXCEL文件格式的功能,进行探讨

    DataGrid分页

    字段:Id(自动编号),anumber(数字) 因为DataGrid控件我们采用直接绑定记录集来显示数据.所以分页处理我们采用了间接的办法,定义另一个记录集objrs,将分页后的记录集付给objrs.然后绑定DataGrid ''效果还不错 , ...

    asp.net程序中最常用的三十三种编程

    主要内容:asp.net程序中最常用的三十三种编程代码,使用 Visual Studio 2005 Team System进行单元测试,ASP.NET中常用的优化性能方法,关于DataGrid控件中的自动编号。

    asp.net专家疑难解答200问源码

    112.如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景颜色 ...

    asp.net专家疑难解答200问

    如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景...

    asp.net知识库

    关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建多层应用 在MastPage中引用脚本资源 2.0正式...

    delphi 开发经验技巧宝典源码

    0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...

    delphi 开发经验技巧宝典源码06

    0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...

    十天学会ASP.net--我认为ASP.NET比ASP难很多,希望大家做好准备

    二、所有WEB控件都要包含在&lt;form runat="server"&gt;&lt;/form&gt;中,否则就会出错。 今天就到此结束,请继续往后面看,下次开始就要说ADO.NET了。 十天学会ASP.net(5) 作者:佚名 阅读人次:8013 文章来源:未知 发布时间:...

    ASP.NET程序中常用的三十三种代码.txt

    ASP.NET程序中常用的三十三种代码 1. 打开新的窗口并传送参数:  传送参数: response.write("&lt;script&gt;window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)&lt;/script&gt;")  接收参数: ...

    ASP.NET常用代码

    8.关于日期格式 日期格式设定 DataFormatString="{0:yyyy-MM-dd}" 我觉得应该在itembound事件中 e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd")) 9.获取错误...

    net学习笔记及其他代码应用

    26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写: namespace test { public delegate void OnDBOperate(); public class UserControlBase : System.Windows.Forms.UserControl { public ...

    软件工程工资管理系统

    1 ID 自动编号 20 工资总 工资编号 2 编号 文本 50 工资总 员工编号 3 基本工资 数字 自动 工资总 员工基本工资 4 津贴 数字 自动 工资总 员工津贴 5 工资扣 数字 自动 工资总 所扣除的工资数 6 洗理 数字 ...

    《Visual Basic 2008应用程序开发实例精讲》全书所有实例程序源代码

    3.3.4 datagrid控件的应用64 3.3.5 savefiledialog组件65 3.4 程序实现与代码66 3.4.1 家庭理财系统主界面窗体66 3.4.2 查询统计窗体设计78 3.5 实例总结83 第4章 超市管理系统84 4.1 实例功能说明84 4.2 系统设计...

    VB2008应用程序开发实例精讲(光盘文件)

    3.3.4 DataGrid控件的应用64 3.3.5 SaveFileDialog组件65 3.4 程序实现与代码66 3.4.1 家庭理财系统主界面窗体66 3.4.2 查询统计窗体设计78 3.5 实例总结83 第4章 超市管理系统84 4.1 实例功能说明84 4.2 系统设计...

Global site tag (gtag.js) - Google Analytics