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

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

ASP.NET中实现DataGrid数据排序(4)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网      五.使用Sql语句实现DataGrid数据排序:
  
    使用Sql语句来实现对DataGrid组件中数据排序,在操作步骤上虽然相对复杂一点,但功能相对强大一点。其主要思路就是根据DataGrid组件的不同列名,形成不同的Sql语句,从而得到不同的DataSet实例,来实现对DataGrid中数据进行相应排序。下面就在上面完成的【在ASP.net页面中使用DataView实现DataGrid数据排序】项目基础上,加以修改从而完成使用Sql语句来实现DataGrid中数据排序。
  
    1. 首先假设您已经成功完成上面项目,能够在ASP.NET使用DataView实现对DataGrid中数据进行排序。
  
    2. 把Visual Stuido .Net的当前窗口切换到WebForm1.aspx.cs中,并WebForm1.aspx.cs文件的class代码区添加下列代码,下列代码是创建全局使用的实例:
  
  public DataSet dataSet1 ;
  public SqlDataAdapter sqlDataAdapter1 ;
  
    3. 用下列代码替换WebForm1.aspx.cs中已经定义的sort过程,下面代码是重新定义sort过程,使其能够使用Sql语句实现对DataGrid中的数据进行排序:
  
  private void Sort ( string sortString )
  {
  SqlConnection sqlConnection1 = new SqlConnection ( "Server = localhost ; Database = NorthWind ; User ID = sa ; Password = ; " ) ;
  switch ( sortString )
  {
  case "序号" :
  if ( blId )
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 序号 ASC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blId = false ;
  }
  else
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 序号 DESC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blId = true ;
  }
  break ;
  case "姓氏" :
  if ( blLast )
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 姓氏 ASC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blLast = false ;
  }
  else
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 姓氏 DESC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blLast = true ;
  }
  break ;
  case "名字" :
  if ( blFirst )
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 名字 ASC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blFirst = false ;
  }
  else
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 名字 DESC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blFirst = true ;
  }
  break ;
  case "职务" :
  if ( blTitle )
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 职务 ASC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blTitle = false ;
  }
  else
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 职务 DESC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blTitle = true ;
  }
  break ;
  case "生日" :
  if ( blBirth )
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 生日 ASC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blBirth = false ;
  }
  else
  {
  sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter ( "SELECT EmployeeID as 序号, LastName as 姓氏 , FirstName as 名字 , Title as 职务 , Birthdate as 生日 From Employees ORDER BY 生日 DESC" , sqlConnection1 ) ;
  //以定义的数据库连接来初始化SqlDataAdapter实例
  blBirth = true ;
  }
  break ;
  }
  dataSet1 = new DataSet ( ) ;
  sqlDataAdapter1.Fill ( dataSet1 , "employee" ) ;
  //以SqlDataAdapter实例来填充本地DataSet数据集
  DataGrid1.DataSource = dataSet1 ;
  DataGrid1.DataBind ( ) ;
  //实现数据绑定
  }
  
    4. 保存上面的修改步骤,这样就实现了从DataView到Sql语句实现DataGrid数据排序的转换。单击快捷键F5,就可以看到图06和图07所示界面。
  
    六.总结:
  
    通过以上内容的介绍,我们不仅了解、掌握了在ASP.NET页面中实现DataGrid中数据排序的二种方法,还应该了解并掌握下面内容:
  
    1. 在ASP.NET中的DataGrid组件的数据绑定。  
  
    2. 改变ASP.NET页面中的DataGrid组件中的表头提示内容。

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


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

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