帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统v4.6
栏 目:
 
您的位置:首页 > 技术文档 > ASP.NET编程 >
字段的排序
作者:佚名 发布时间:2005-04-02 来源:不详
 


    要支持排序功能,只要将DataGrid Web 控件的AllowSorting 属性设为True,并且指定要排序时所要执行的程序为何即可。下列范例支持排序的功能,使用者可以点选欲排序的字段,该字段数据即以升幂方式排列;若再点选该字段一次,则该字段改成以降序的方式排列:

<%@Import Namespace=System.Data.ADO%>
<%@Import Namespace=System.Data%>
<!--#Include File="GetTable.inc"-->
<Html>
<Form Runat="Server">
<ASP:DataGrid Id="dgA" AllowPaging="True" PageSize="10"
OnPageIndexChanged="dgA_PageChg" Runat="Server"
PagerStyle-Mode="NumericPages" BorderColor="#808080"
HeaderStyle-Font-Names="Courier New"
HeaderStyle-BackColor="#D1DCEB"
HeaderStyle-HorizontalAlign="Center"
AllowSorting="True" OnSortCommand="dgA_Sort">
</ASP:DataGrid>
<ASP:TextBox Id="txtHidden" Runat="Server" Visible="False"
Enabled="False"/>
</Form>
<Script Language="VB" Runat="Server">
Dim dtDataTable As DataTable=GetTable("CH08MyWeb.mdb", "Members")
Sub Page_Load(Sender As Object, e As EventArgs)
If Page.IsPostBack=False Then
txtHidden.Text="UserName"
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End If
End Sub
Sub dgA_PageChg(Sender As Object, e As DataGridPageChangedEventArgs)
If txtHidden.Enabled=True Then
dtDataTable.DefaultView.Sort=txtHidden.Text
Else
dtDataTable.DefaultView.Sort=txtHidden.Text & " Desc"
End If
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
Sub dgA_Sort(Sender As Object, e As DataGridSortCommandEventArgs)
If txtHidden.Enabled=False Then
dtDataTable.DefaultView.Sort=e.SortField
Else
dtDataTable.DefaultView.Sort=e.SortField & " Desc"
End If
txtHidden.Enabled=Not txtHidden.Enabled
txtHidden.Text=e.SortField
dgA.DataSource=dtDataTable.DefaultView
Page.DataBind()
End Sub
</SCRIPT>
</Html>

    由于DataGrid Web 控件并不会自动排序数据,所以我们藉由OnSortCommand 事件程序来修改DataTable.DefaultView 的Sort 属性。由于换页的时候原来的排序状况无法保留,所以我们透过一个TextBox Web 控件,并将其Visible 属性设为False 来帮我们保持排序的状况。其中 TextBox 的Text 属性用来记录所要排序的字段名称,而Enabled 属性用来表示排序的方式是升幂还是降序。其执行结果如图所示:


第一次点选时以升幂方式排序


第二次点选时以降序方式排序
 
 
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·如何实现一个与数据库表字段松耦  (2005-04-02)
 ·ADO如何取得数据库中表的字段信息  (2005-03-12)
 ·ADO如何取得数据库中表的字段信息  (2005-03-12)
 ·利用SQL语言有没有办法查到表中哪  (2005-03-12)
 ·得到表中字段属性代码  (2005-03-12)
 ·在ASP中列出数据库中的表名和字段  (2005-03-12)
 ·如何检测备注字段的字节数  (2005-03-12)
 ·把存储在SQL7的image字段的文件下  (2005-03-12)
 ·如何实现一个与数据库表字段松耦  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·帝国网站管理系统采集使用教程
·帝国网站管理系统模板制作教程
·帝国CMS模板下载
·Discuz6.0.1UC版通行证发布
·帝国网站管理系统之网站迁移教程
·帝国网站管理系统实例入门教程下载
·《帝国网站管理系统》实例入门教程
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统