J'essaie de faire un gridview triable qui utilise une procédure stockée comme source de données, je ne voudrais pas qu'il réexécute la requête à chaque fois pour y parvenir. Comment puis-je faire fonctionner mon code actuel est:asp.net gridview tri sans données rebind
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();
}}}
Ce code lie uniquement les données quand il est pas un postback, le gridview a viewstate activé. En appuyant sur les en-têtes de colonnes, une publication se produit mais aucun tri ne se produit. Si quelqu'un a une solution simple pour cela s'il vous plaît laissez-moi savoir ou même mieux un tri ajax qui permettrait d'éviter la publication serait encore mieux. L'ensemble de données est relativement petit, mais prend beaucoup de temps à interroger ce qui est pourquoi je ne voudrais pas requery sur chaque sorte.
Utilisé le classeur de table jquery fonctionne fantastique, ma sortie de jeu de données est seulement 20 lignes max il est long de le calculer car il s'agit de données agrégées. – PeteT