• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

字段的排序

发布: 2007-7-14 20:06 | 作者: 佚名    | 来源: 网络转载     | 查看: 10次 | 进入软件测试论坛讨论

领测软件测试网


    要支持排序功能,只要将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("CH08\MyWeb.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 属性用来表示排序的方式是升幂还是降序。其执行结果如图所示:


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


第二次点选时以降序方式排序

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网