zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    处理跨浏览器的事件处理程序
    html5 canvas时钟
    拖拽事件的原理
    改变top使用轮播图
    程序开发之最大子数组
    第四周学习进度
    敏捷开发相关阅读
    构建之法读书笔记04
    四则运算终结版
    第三周学习进度
  • 原文地址:https://www.cnblogs.com/greatverve/p/1620960.html
Copyright © 2011-2022 走看看