http://topic.csdn.net/t/20061218/10/5237620.html

 

http://social.microsoft.com/forums/zh-CN/295/thread/9d3e2371-45bd-49e6-b78e-633fc95422f6/

 

 

 

 

那些属性都是针对数据源控件的,

如果自己排序,需要自己处理数据的,下面是一个可以直接运行的例子

 

Code Snippet

<%@ Page Language="C#" EnableViewState="true" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  System.Data.DataTable CreateDataSourceByXianhuiMeng()
  {
    System.Data.DataTable dt = new System.Data.DataTable();
    System.Data.DataRow dr;
    dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
    dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
    dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
    dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
    dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
    dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));

    for (int i = 0; i < 8; i++)
    {
      System.Random rd = new System.Random(Environment.TickCount * i); ;
      dr = dt.NewRow();
      dr[0] = "班级" + i.ToString();
      dr[1] = "【孟子E章】" + i.ToString();
      dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
      dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
      dt.Rows.Add(dr);
    }
    return dt;
  }

  string sortType = String.Empty;
  protected void Page_Load(object sender, EventArgs e)
  {
    if (sortType == "DESC")
    {
      ViewState["sortType"] = "ASC";
    }
    else
    {
      ViewState["sortType"] = "DESC";
    }
   
    if (!Page.IsPostBack)
    {
      this.gvShop.DataSource = CreateDataSourceByXianhuiMeng();
      this.gvShop.DataBind();
    }
  }


  public void GridViewDataBind(String sortField)
  {
    System.Data.DataView dt = CreateDataSourceByXianhuiMeng().DefaultView;
    dt.Sort = sortField;
    this.gvShop.DataSource = dt;
    this.gvShop.DataBind();
 
  }

  protected void b_Click(object sender, EventArgs e)
  {
    sortType = Convert.ToString(ViewState["sortType"]);
    LinkButton link = sender as LinkButton;

    GridViewDataBind(link.CommandArgument + " " + sortType);
  }

  protected void gvShop_RowCreated(object sender, GridViewRowEventArgs e)
  {
    if (e.Row.RowType == DataControlRowType.Header)
    {
      sortType = Convert.ToString(ViewState["sortType"]);
      LinkButton link = e.Row.FindControl("b") as LinkButton;

      if (sortType == "DESC")
      {
        link.Parent.Controls.Add(new LiteralControl("↓"));
      }
      else
      {
        link.Parent.Controls.Add(new LiteralControl("↑"));
      }
    }
  }
</script>


<body>
  <form )%></p>
        </ItemTemplate>
      </asp:TemplateField>
    </Columns>
  </asp:GridView>
  </form>
</body>
</html>

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-07
  • 2021-05-09
  • 2021-05-16
  • 2022-01-16
猜你喜欢
  • 2021-05-09
  • 2021-08-03
  • 2021-06-26
  • 2021-07-04
  • 2021-07-22
  • 2021-08-10
  • 2021-05-26
相关资源
相似解决方案