您的位置:首页 > 其它

GridView手动双向排序并加上排序图标

2008-06-23 11:27 423 查看
前台代码并没有什么就是一个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);


}


}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: