前台代码并没有什么就是一个GridView控件 主要是后台代码:
using
System;
using
System.Collections;
using
System.Configuration;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.HtmlControls;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Xml.Linq;
using
System.Data.SqlClient;
public
partial
class
Sort : System.Web.UI.Page
{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GridView1.DataSource = this.GetDataset(); GridView1.DataKeyNames = new String[] { "id" }; GridView1.DataBind(); ViewState["OrderDire"] = " Desc"; } } private string gvSortExpression { get { if (ViewState["SortOrder"] != null && ViewState["SortOrder"].ToString() != string.Empty) { return ViewState["SortOrder"].ToString(); } else { return ""; } } set { ViewState["SortOrder"] = value; } } private DataSet GetDataset() { SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Personal"].ConnectionString); conn.Open(); SqlDataAdapter adp = new SqlDataAdapter("select * from information", conn); DataSet dataset = new DataSet(); adp.Fill(dataset, "information"); conn.Close(); return dataset; } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { gvSortExpression = e.SortExpression; if (ViewState["OrderDire"].ToString() == " Desc") { ViewState["OrderDire"] = " ASC"; } else { ViewState["OrderDire"] = " Desc"; } DataView dataview = this.GetDataset().Tables[0].DefaultView; string sort = gvSortExpression + " " + ViewState["OrderDire"].ToString(); dataview.Sort = sort; GridView1.DataSource = dataview; GridView1.DataKeyNames = new String[] { "id" }; GridView1.DataBind(); } protected void ShowSortedIcon(GridView gvData, GridViewRow gvRow) { for (int index = 0; index <= gvData.Columns.Count - 1; index++) { if ((gvData.Columns[index].SortExpression == gvSortExpression) && (gvData.Columns[index].SortExpression !="")) { Image img = new Image(); if ((string)ViewState["OrderDire"] == " ASC") { img.ImageUrl = "~/Images/SortUp.gif"; img.ToolTip = "递增排列"; } else { img.ImageUrl = "~/Images/SortDown.gif"; img.ToolTip = "递减排列"; } gvRow.Cells[index].Controls.Add(img); } } } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Header) { ShowSortedIcon(GridView1, e.Row); } } }