Guest User

Untitled

a guest
Jun 24th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. protected void GridView_OnSort(object sender, GridViewSortEventArgs e)
  2. {
  3. String sortExpression = e.SortExpression;
  4.  
  5. if (GridViewSortDirection == SortDirection.Ascending)
  6. {
  7. DataView myDataView = new DataView(mybll.GetItemsOrdered());
  8. myDataView.Sort = sortExpression + " DESC";
  9. GridView.DataSource = myDataView;
  10. GridView.DataBind();
  11. }
  12. else
  13. {
  14. DataView myDataView = new DataView(mybll.GetItemsOrdered());
  15. myDataView.Sort = sortExpression + " ASC";
  16. GridView.DataSource = myDataView;
  17. GridView.DataBind();
  18. }
  19. }
  20.  
  21. private const string ASCENDING = " ASC";
  22. private const string DESCENDING = " DESC";
  23.  
  24. public SortDirection GridViewSortDirection
  25. {
  26. get
  27. {
  28. if (ViewState["sortDirection"] == null)
  29. ViewState["sortDirection"] = SortDirection.Ascending;
  30.  
  31. return (SortDirection) ViewState["sortDirection"];
  32. }
  33. set { ViewState["sortDirection"] = value; }
  34. }
  35.  
  36. protected void GridView_Sorting(object sender, GridViewSortEventArgs e)
  37. {
  38. string sortExpression = e.SortExpression;
  39.  
  40. if (GridViewSortDirection == SortDirection.Ascending)
  41. {
  42. GridViewSortDirection = SortDirection.Descending;
  43. SortGridView(sortExpression, DESCENDING);
  44. }
  45. else
  46. {
  47. GridViewSortDirection = SortDirection.Ascending;
  48. SortGridView(sortExpression, ASCENDING);
  49. }
  50.  
  51. }
  52.  
  53. private void SortGridView(string sortExpression,string direction)
  54. {
  55. // You can cache the DataTable for improving performance
  56. DataTable dt = GetData().Tables[0];
  57.  
  58. DataView dv = new DataView(dt);
  59. dv.Sort = sortExpression + direction;
  60.  
  61. GridView1.DataSource = dv;
  62. GridView1.DataBind();
  63. }
Add Comment
Please, Sign In to add comment