GridView排序简单实现


使用javascript操作table排序才是实用的排序,这样排序不怎么好,但是有时候可能会用来,记录一下。

  前台:

  代码

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="GridViewSort.aspx.cs" Inherits="GridViewSort" %>

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

  <html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">

  <title>GridView排序简单实现</title>

  </head>

  <body>

  <form id="form1" runat="server">

  <div>

  <asp:GridView ID="gdvSort" runat="server" OnSorting="gdvSort_Sorting">

  </asp:GridView>

  </div>

  </form>

  </body>

  </html>

  后台:

  代码

  using System;

  using System.Data;

  using System.Configuration;

  using System.Collections;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Web.UI.HtmlControls;

  public partial class GridViewSort : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!IsPostBack)

  {

  ViewState["SortOrder"] = "PID";

  ViewState["OrderDire"] = "Desc";

  Bind();

  }

  }

  private void Bind()

  {

  gdvSort.AllowSorting = true;

  DataView dv = getDt().DefaultView;

  dv.Sort = (string)ViewState["SortOrder"] + " " + (string)ViewState["OrderDire"];

  gdvSort.DataSource = dv;

  gdvSort.DataBind();

  }

  /// <summary>

  /// 连数据库麻烦,直接构造一个DataTable

  /// </summary>

  /// <returns></returns>

  private DataTable getDt()

  {

  DataTable dt = new DataTable();

  dt.Columns.Add("PID", typeof(System.Int32));

  dt.Columns.Add("UserName", typeof(System.String));

  for (int i = 0; i < 10; i++)

  {

  DataRow dr = dt.NewRow();

  dr["PID"] = i;

  dr["UserName"] = "姓名" + i;

  dt.Rows.Add(dr);

  }

  return dt;

  }

  protected void gdvSort_Sorting(object sender, GridViewSortEventArgs e)

  {

  string sPage = e.SortExpression;

  if (ViewState["SortOrder"].ToString() == sPage)

  {

  if (ViewState["OrderDire"].ToString() == "Desc")

  {

  ViewState["OrderDire"] = "Asc";

  }

  else

  {

  ViewState["OrderDire"] = "Desc";

  }

  }

  else

  ViewState["SortOrder"] = e.SortExpression;

  Bind();

  }

  }



相关阅读:
Javascript 最简单检测网速的方法和应用
迅雷API接口_通过脚本调用迅雷自动下载资源
SQL 2008 R2结合VS2010更加高效开发管理应用程序数据
SQL Server开发10个最重要特点
PHP 导出数据到淘宝助手CSV的方法分享
收集整理的Linux下的小技巧(三)
JSON.parse 解析字符串出错的解决方法
收集的10个免费的jQuery相册
sqlserver 字符串分拆 语句
WEB2.0的五个技术点:单手定则
符合WEB标准的网页图像的代码精简
对iis写权限的利用
JavaScript中Break和Continue
让SortTable和Asp.net Ajax和睦相处
快速导航

Copyright © 2016 phpStudy |