欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> WEB开发 >> ASP.NET教程 >> 开发实例 >> 教程正文

  没有公告

教程: ASP.NET中实现DataGrid数据排序 更多...
教程: ASP.NET中实现DataGrid数据排序

lId = true ;
}
break ;
case "姓氏" :
if ( blLast )
{
dataView1.Sort = "姓氏 DESC" ;
blLast = false ;
}
else
{
dataView1.Sort = "姓氏 ASC" ;
blLast = true ;
}
break ;
case "名字" :
if ( blFirst )
{
dataView1.Sort = "名字 DESC" ;
blFirst = false ;
}
else
{
dataView1.Sort = "名字 ASC" ;
blFirst = true ;
}
break ;
case "职务" :
if ( blTitle )
{
dataView1.Sort = "职务 DESC" ;
blTitle = false ;
}
else
{
dataView1.Sort = "职务 ASC" ;
blTitle = true ;
}
break ;
case "生日" :
if ( blBirth )
{
dataView1.Sort = "生日 DESC" ;
blBirth = false ;
}
else
{
dataView1.Sort = "生日 ASC" ;
blBirth = true ;
}
break ;
}
DataGrid1.DataSource = dataView1 ;
DataGrid1.DataBind ( ) ;
//实现数据绑定
}
  5. 清除WebForm1.aspx.cs中Page_Load事件处理代码区中的所有代码后,并在Page_Load事件处理代码区中添加下列下列代码,下列代码是判断此Web页面是否是第一次加载,如果判断为"True",则对其中的DataGrid1中的数据按照"序号"列名进行升序排列:

if ( IsPostBack == false )
{
Sort ( "序号" ) ;
}
  6. 在WebForm1.aspx.cs中的InitializeComponent过程之后,添加下列代码,下列代码是DataGrid1的SortCommand事件的处理代码:

private void DataGrid1_SortCommand ( object source , System.Web.UI.WebControls.DataGridSortCommandEventArgs e )
{
string sColName = e.SortExpression ;
//获得列名
Sort ( sColName ) ;
//以此列名,并根据当前排序情况进行相应排序
}
  7. 在上述步骤都正确执行后,第一种在ASP.NET实现DataGrid中数据排序的方法就介绍完成了,此时单击快捷键F5就可以运行程序,图06和图07分别程序按照"生日"对DataGrid进行升、级序排列时的运行界面:


图06:以"生日" 对DataGrid中的数据进行升序排列


图07:以"生日" 对DataGrid中的数据进行降序排列


  五.使用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组件中的表头提示内容。


上一页  [1] [2] 

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    asp连接mysql数据库

    asp连接mysql数据库-2

    frontpage2000教程---制作主页
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网