A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 陈君 金牌黑马   /  2014-9-11 17:00  /  1390 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本篇文章主要是对Gridview自动排序功能的实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助本篇文章主要是对Gridview自动排序功能的实现代码进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
注意两点:
1.要将gridview的AllowSorting属性置为true,同时设置OnSorting事件
2.在OnSorting事件中对排序的列设定SortExpression属性

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. if (!Page.IsPostBack)
  4. {
  5. if (Session["Admin"] != "admin")
  6. {
  7. //如果会话过期,则应该重新登录
  8. this.Response.Write(" <script language=javascript>alert('你无权访问该页面,请与管理员联系!');window.location.href='../UserLogin.aspx';</script> ");
  9. }
  10. <DIV class=blockcode>
  11. <BLOCKQUOTE>
  12. ViewState["sortExpression"] = "Isdistribution";
  13. ViewState["sort"] = " ASC";
  14. }
  15. //绑定信息
  16. BindNodeInfo();
  17. }

  18. public void BindNodeInfo()
  19. {
  20. NodeLogic log = new NodeLogic();
  21. DataSet myset = log.GetNodeInfo(); //获取数据源
  22. DataView myview = myset.Tables[0].DefaultView;
  23. myview.Sort = ViewState["sortExpression"].ToString() +" "+ ViewState["sort"].ToString();
  24. this.NodeGridView.DataSource = myview;
  25. NodeGridView.DataKeyNames = new string[] { "node_id" }; //设置主键字段
  26. NodeGridView.DataBind(); //绑定GridView控件
  27. }
  28. protected void NodeGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
  29. {
  30. this.NodeGridView.PageIndex = e.NewPageIndex;
  31. BindNodeInfo();
  32. }
  33. protected void NodeGridView_RowDataBound(object sender, GridViewRowEventArgs e)
  34. {
  35. // 自动给第一列编号
  36. if (e.Row.RowIndex > -1)
  37. {
  38. e.Row.Cells[0].Text = Convert.ToString(e.Row.RowIndex + 1);
  39. }
  40. }
  41. protected void NodeGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
  42. {
  43. NodeLogic log = new NodeLogic();
  44. int id = int.Parse(this.NodeGridView.DataKeys[e.RowIndex].Values[0].ToString());
  45. if (log.DeleteNodeInfo(id))
  46. {
  47. this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('删除成功!');", true);
  48. }
  49. else
  50. this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('删除失败!');", true);
  51. //重新更新数据显示
  52. BindNodeInfo();
  53. }
  54. protected void NodemGridView_RowEditing(object sender, GridViewEditEventArgs e)
  55. {
  56. }
  57. protected void AddNode_Click(object sender, EventArgs e)
  58. {
  59. Response.Redirect("AddNode.aspx");
  60. }
  61. protected void NodeGridView_Sorting(object sender, GridViewSortEventArgs e)
  62. {
  63. if (ViewState["sortExpression"] != null)
  64. {
  65. if (ViewState["sort"].ToString() == "Asc")
  66. {
  67. ViewState["sort"] = "Desc";
  68. }
  69. else
  70. {
  71. ViewState["sort"] = "Asc";

  72. }
  73. }
  74. BindNodeInfo();
  75. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马