您的位置:首页 > 编程语言 > ASP

asp.net GridView排序简单实现

2009-12-10 00:00 399 查看
前台:
代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewSort.aspx.cs" Inherits="GridViewSort" %> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
<title>GridView排序简单实现</title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 
<asp:GridView ID="gdvSort" runat="server" OnSorting="gdvSort_Sorting"> 
</asp:GridView> 
</div> 
</form> 
</body> 
</html>

后台:

代码
using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 

public partial class GridViewSort : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
if (!IsPostBack) 
{ 
ViewState["SortOrder"] = "PID"; 
ViewState["OrderDire"] = "Desc"; 
Bind(); 
} 
} 
private void Bind() 
{ 
gdvSort.AllowSorting = true; 
DataView dv = getDt().DefaultView; 
dv.Sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"]; 
gdvSort.DataSource = dv; 
gdvSort.DataBind(); 
} 
/// <summary> 
/// 连数据库麻烦,直接构造一个DataTable 
/// </summary> 
/// <returns></returns> 
private DataTable getDt() 
{ 
DataTable dt = new DataTable(); 
dt.Columns.Add("PID", typeof(System.Int32)); 
dt.Columns.Add("UserName", typeof(System.String)); 
for (int i = 0; i < 10; i++) 
{ 
DataRow dr = dt.NewRow(); 
dr["PID"] = i; 
dr["UserName"] = "姓名" + i; 
dt.Rows.Add(dr); 
} 
return dt; 
} 
protected void gdvSort_Sorting(object sender, GridViewSortEventArgs e) 
{ 
string sPage = e.SortExpression; 
if (ViewState["SortOrder"].ToString() == sPage) 
{ 
if (ViewState["OrderDire"].ToString() == "Desc") 
{ 
ViewState["OrderDire"] = "Asc"; 
} 
else 
{ 
ViewState["OrderDire"] = "Desc"; 
} 
} 
else 
ViewState["SortOrder"] = e.SortExpression; 
Bind(); 
} 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: