我想做一個gridview排序,它使用存儲過程作爲數據源,我不希望它每次重新運行查詢來實現此目的。我將如何得到它的工作我當前的代碼是:asp.net gridview排序沒有數據重新綁定
protected override void OnPreRender(EventArgs e)
{
if (!IsPostBack)
{
SqlCommand cmd2 = new SqlCommand("SR_Student_Course_List", new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RDCV2ConnectionString"].ConnectionString));
try
{
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.CommandTimeout = 120;
cmd2.Parameters.Add("student_id", SqlDbType.Char, 11).Value = student;
cmd2.Connection.Open();
grdCourses.DataSource = cmd2.ExecuteReader();
grdCourses.DataSourceID = string.Empty;
grdCourses.DataBind();
} finally
{
cmd2.Connection.Close();
cmd2.Connection.Dispose();
cmd2.Dispose();
}}}
此代碼只是綁定數據時,它不是一個回傳時,GridView啓用了視圖狀態。在按列標題時會發生回發,但不會進行排序。如果任何人有這個簡單的修復,請讓我知道,甚至更好的ajax排序,這將避免回發會更好。數據集相對較小,但需要很長時間才能查詢這是我不想每次重新查詢的原因。
使用jquery table sorter工作很棒,我的數據集輸出最多隻有20行,因爲它是聚合數據,所以很長一段時間才能計算它。 – PeteT 2008-11-18 18:36:29