帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > 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编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·ASP.NET中为DataGrid添加合计字段
·.text urlRewrite介绍
·利用 ASP.NET 的内置功能抵御 Web
·ASP.NET Cache
·用 WebClient.UploadData 方法 上载
·ASP.NET 程序设计-序
·什么是客户端/伺服端(Client/Serve
·因特网应用程序的开发
·网页的种类
·.NET Framework-Microsoft Visual
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统