<!----><st1:chsdate isrocdate="False" month="9" islunardate="False" day="10" w:st="on" year="2004"></st1:chsdate><!----><o:p></o:p>
在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下:<o:p></o:p>
(1)在后台<o:p></o:p>
DataGrid.CurrentPageIndex * DataGrid.PageSize + e.Item.ItemIndex + 1<o:p></o:p>
(2)在前台<o:p></o:p>
DataGrid1.CurrentPageIndex * DataGrid1.PageSize + Container.ItemIndex + 1<o:p></o:p>
说明:<o:p></o:p>
e表示System.Web.UI.WebControls.DataGridItemEventArgs参数类的实例;<o:p></o:p>
DataGrid1这里表示前台的一个实例;<o:p></o:p>
DataGrid.CurrentPageIndex:获取或设置当前显示页的索引;<o:p></o:p>
DataGrid.PageSize :获取或设置要在 DataGrid 控件的单页上显示的项数。<o:p></o:p>
<o:p> </o:p>
下面我使用了4种方法来在前台显示序号,不过都是围绕上面的计算式展开。<o:p></o:p>
(1) 使用DataGrid的ItemCreated设置值,而前台的单元格可以是绑定列或者模板列(包括空模板);<o:p></o:p>
(2) 使用DataGrid的ItemDataBound设置值,而前台的单元格可以是绑定列或者模板列(包括空模板);<o:p></o:p>
(3) 在前台直接绑定计算表达式;<o:p></o:p>
(4) 在后台类中编写方法计算表达式由前台页面类继承调用。<o:p></o:p>
备注:在数据库中获取数据时设置额外的序号列这里不做讨论,我认为这是最糟糕的实现方法。<o:p></o:p>
下面以获取Northwind数据库的Customers表的数据为列,显示如下:<o:p></o:p>
序号1<o:p></o:p> |
序号2<o:p></o:p> |
序号3<o:p></o:p> |
序号4<o:p></o:p> |
序号5<o:p></o:p> |
CustomerID<o:p></o:p> |
51<o:p></o:p> |
51<o:p></o:p> |
51 <o:p></o:p> |
51 <o:p></o:p> |
51 <o:p></o:p> |
LONEP<o:p></o:p> |
52<o:p></o:p> |
52<o:p></o:p> |
52 <o:p></o:p> |
52 <o:p></o:p> |
52 <o:p></o:p> |
MAGAA<o:p></o:p> |
53<o:p></o:p> |
53<o:p></o:p> |
53 <o:p></o:p> |
53 <o:p></o:p> |
53 <o:p></o:p> |
MAISD<o:p></o:p> |
54<o:p></o:p> |
54<o:p></o:p> |
54 <o:p></o:p> |
54 <o:p></o:p> |
54 <o:p></o:p> |
MEREP<o:p></o:p> |
55<o:p></o:p> |
55<o:p></o:p> |
55 <o:p></o:p> |
55 <o:p></o:p> |
55 <o:p></o:p> |
MORGK<o:p></o:p> |
56<o:p></o:p> |
56<o:p></o:p> |
56 <o:p></o:p> |
56 <o:p></o:p> |
56 <o:p></o:p> |
NORTS<o:p></o:p> |
57<o:p></o:p> |
57<o:p></o:p> |
57 <o:p></o:p> |
57 <o:p></o:p> |
57 <o:p></o:p> |
OCEAN<o:p></o:p> |
58<o:p></o:p> |
58<o:p></o:p> |
58 <o:p></o:p> |
58 <o:p></o:p> |
58 <o:p></o:p> |
OLDWO<o:p></o:p> |
59<o:p></o:p> |
59<o:p></o:p> |
59 <o:p></o:p> |
59 <o:p></o:p> |
59 <o:p></o:p> |
OTTIK<o:p></o:p> |
60<o:p></o:p> |
60<o:p></o:p> |
60 <o:p></o:p> |
60 <o:p></o:p> |
60 <o:p></o:p> |
PARIS<o:p></o:p> |
1 2 3 4 5 6 7 8 9 10<o:p></o:p> |
<o:p></o:p> |
<o:p> </o:p>
下面是WebFormPaging.aspx文件代码,<o:p></o:p>
<%@ Page language="c#" Codebehind="WebFormPaging.aspx.cs" AutoEventWireup="false" Inherits="AspnetPaging.WebForm1" %><o:p></o:p>
<!DOCTYPE HTML PUBLIC "-//W<st1:chmetcnv tcsc="0" hasspace="False" sourcevalue="3" numbertype="1" negative="False" unitname="C" w:st="on">3C</st1:chmetcnv>//DTD HTML 4.0 Transitional//EN" ><o:p></o:p>
<HTML><o:p></o:p>
<HEAD><o:p></o:p>
<title>WebForm1</title><o:p></o:p>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR"><o:p></o:p>
<meta content="C#" name="CODE_LANGUAGE"><o:p></o:p>
<meta content="JavaScript" name="vs_defaultClientScript"><o:p></o:p>
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema"><o:p></o:p>
</HEAD><o:p></o:p>
<body><o:p></o:p>
<form id="Form1" method="post" runat="server"><o:p></o:p>
<TABLE id="Table1" cellSpacing="1" cellPadding="1" width="400" align="center" border="1"><o:p></o:p>
<TR><o:p></o:p>
<TD><asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="100%" AllowPaging="True"><o:p></o:p>
<Columns><o:p></o:p>
<asp:BoundColumn HeaderText="序号1"></asp:BoundColumn><o:p></o:p>
<asp:TemplateColumn HeaderText="序号2"></asp:TemplateColumn><o:p></o:p>
<asp:TemplateColumn HeaderText="序号3"><o:p></o:p>
<ItemTemplate><o:p></o:p>
<asp:Label ID="itemIndex" runat="server"></asp:Label><o:p></o:p>
</ItemTemplate><o:p></o:p>
</asp:TemplateColumn><o:p></o:p>
<asp:TemplateColumn HeaderText="序号4"><o:p></o:p>
<ItemTemplate><o:p></o:p>
<%# (DataGrid1.CurrentPageIndex * DataGrid1.PageSize + Container.ItemIndex + 1) %><o:p></o:p>
</ItemTemplate><o:p></o:p>
</asp:TemplateColumn><o:p></o:p>
<asp:TemplateColumn HeaderText="序号5"><o:p></o:p>
<ItemTemplate><o:p></o:p>
<%# GetRecordIndex( Container.ItemIndex ) %><o:p></o:p>
</ItemTemplate><o:p></o:p>
</asp:TemplateColumn><o:p></o:p>
<asp:BoundColumn DataField="CustomerID" HeaderText="CustomerID"></asp:BoundColumn><o:p></o:p>
</Columns><o:p></o:p>
<PagerStyle Mode="NumericPages"></PagerStyle><o:p></o:p>
</asp:datagrid></TD><o:p></o:p>
</TR><o:p></o:p>
<TR><o:p></o:p>
<TD></TD><o:p></o:p>
</TR><o:p></o:p>
<TR><o:p></o:p>
<TD></TD><o:p></o:p>
</TR><o:p></o:p>
</TABLE><o:p></o:p>
</form><o:p></o:p>
</body><o:p></o:p>
</HTML><o:p></o:p>
<o:p> </o:p>
后台WebFormPaging.aspx.cs代码如下:<o:p></o:p>
using System;<o:p></o:p>
using System.Collections;<o:p></o:p>
using System.ComponentModel;<o:p></o:p>
using System.Data;<o:p></o:p>
using System.Drawing;<o:p></o:p>
using System.Web;<o:p></o:p>
using System.Web.SessionState;<o:p></o:p>
using System.Web.UI;<o:p></o:p>
using System.Web.UI.WebControls;<o:p></o:p>
using System.Web.UI.HtmlControls;<o:p></
分享到:
相关推荐
asp.net用datagrid控件连接数据库的两个实例.
运用ASP.NET开发Web应用程序过程中,DataGrid是一个非常重要的控件,几乎任何和数据相关的表现都要用到该控件。所以熟练掌握DataGrid控件的应用技巧是每个Web开发人员所必备的基本能力。
自定义asp.net中DataGrid的一个分页控件。。 在winform下实现。。。其实有了思路哪儿写都一样O(∩_∩)O哈哈~
Visual Studio .Net为编写WinForm程序(即:在Windows平台下运行的程序)所提供的DataGrid组件比起微软以往的各种开发环境中提供的 DataGrid组件都要\"高级\"许多。其\"高级\"的地方就在于不需要再进行任何其他设置...
继承asp.net的DataGrid控件实现的表格树控件 /*表格树控件说明 * 此控件继承DataGrid 新增属性说明: * 1.TreeParentCode:顶级根节点parentcode * 2.TreeDisplayDeep:展现表格树深度默认为1 * 3.SumColumns:...
VS.NET中的DataGrid详细解析其中的删除、编辑等代码!
Datagrid 控件是 Microsoft® ASP.NET 中功能最强、用途最广的 Web 控件之一,这一点已经得到了 ASP.NET 权威人士的认同。虽然 Datagrid 控件易于使用,但同样易于给使用者带来麻烦。以下是许多人所犯的一些错误,...
ASP.NET应用:DataGrid使用最佳实践
在ASP.NET提供的数据访问控件中,DataGrid具有功能强大的数据展示功能。本文就实现数据排序、自动编号、产生合计项、数据导出为EXCEL文件格式的功能,进行探讨
在ASP.NET的DataGrid数据显示控件编程中,我们有几种方式可以增加DataGrid columns。其中最常见的方法是在web forms设计器中增加,通过在控件工具箱中拖访DataGrid控件到web设计页面,然后在属性生成器中增加Columns...
ASP.NET中DataGrid的高级技巧[官方视频]
ASP.NET中DataGrid添加超链接、自定义显示示、页脚汇
EasyUI版本比较旧,请下载新的版本更新,最新版本测试通过。
DataGrid/DataList在ASP.NET中的重要性,想必就不用我再强调了,凡显示Table类型的数据,大多会使用这两个控件(当然,如果谁还像ASP那样写ASP.NET,那我也没有办法),所以,每个人可能都有自己的领悟,这篇文章,...
DataList,DataGrid中的分页dll
本文实例讲述了ASP.NET中访问DataGrid中所有控件值的方法。分享给大家供大家参考,具体如下: <%@ Page Language=C# %> <%@ import Namespace=System.Collections %> [removed] void Page_Load...
ASP.NET应用:DataGrid使用最佳实践(ASP.NET应用:DataGrid使用最佳实践代码)
vb中datagrid控件的详细使用方法,拿出来给大家看看!!!!是学习datagrid控件的好助手
深入利用ASP.NET DataGrid控件.pdf
一、 DataGrid方法 二、 DataGrid属性 三、 DataGrid事件四、 DataGrid代码片断 对初学者很有用