1、设置AllowSorting="True"
2、设置需要排序的列
<asp:BoundField DataField="Result" HeaderText="成绩" SortExpression="Result" />
3、添加函数GridView1_Sorting,不多解释,直接上程序,参考。
排序
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bindGridView(); } } private void bindGridView() { SqlConnection sqlcon = new SqlConnection(@"Data Source=PC-20100627ZYHG;Initial Catalog=peter;Integrated Security=True"); sqlcon.Open(); SqlDataAdapter sqlAd=new SqlDataAdapter("select * from Student",sqlcon); DataSet ds=new DataSet(); sqlAd.Fill(ds,"student"); sqlcon.Close(); this.GridView1.DataSource=ds; this.GridView1.DataBind(); } protected void GridView1_Sorting(object sender, GridViewSortEventArgs e) { DataControlField clm = null; for (int i = 0; i < this.GridView1.Columns.Count; i++) { if (this.GridView1.Columns[i].SortExpression == e.SortExpression) { clm = this.GridView1.Columns[i]; break; } } if (clm == null) return; if (e.SortExpression.ToLower().IndexOf("desc") > 0) { clm.SortExpression = e.SortExpression.ToLower().Replace("desc", "asc"); } else { if (e.SortExpression.ToLower().IndexOf("asc") > 0) { clm.SortExpression = e.SortExpression.ToLower().Replace("asc", "desc"); } else { clm.SortExpression = e.SortExpression.ToLower() + " desc"; } } this.bindGridView(clm.SortExpression); } private void bindGridView(string strSort) { SqlConnection sqlcon = new SqlConnection(@"Data Source=PC-20100627ZYHG;Initial Catalog=peter;Integrated Security=True"); sqlcon.Open(); SqlDataAdapter sqlAd = new SqlDataAdapter("select * from Student", sqlcon); DataSet ds = new DataSet(); sqlAd.Fill(ds, "student"); sqlcon.Close(); ds.Tables[0].DefaultView.Sort = strSort; this.GridView1.DataSource = ds.Tables[0].DefaultView; this.GridView1.DataBind(); }}
来源:https://www.cnblogs.com/brightsky/archive/2010/08/23/1806808.html
