• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    gridview自动排序示例分享

    示例如下:前台

    复制代码 代码如下:

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

    !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>无标题页/title>
    /head>
    body>
        form id="form1" runat="server">
        div>
            asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" ForeColor="#333333" GridLines="None" AllowSorting="True" OnSorting="GridView1_Sorting">
                FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                RowStyle BackColor="#EFF3FB" />
                Columns>
                    asp:BoundField DataField="id" HeaderText="ID" SortExpression="id" />
                    asp:BoundField DataField="name" HeaderText="NAME" SortExpression="name" />
                    asp:BoundField DataField="age" HeaderText="AGE" SortExpression="age" />
                /Columns>
                PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                EditRowStyle BackColor="#2461BF" />
                AlternatingRowStyle BackColor="White" />
            /asp:GridView>
        /div>
        /form>
    /body>
    /html>

    前台注意点:
    需要对GridView启用AllowSorting、设置OnSorting事件,对需要排序的列设定SortExpression属性。

    后台

    复制代码 代码如下:

    using System;
    using System.Data;
    using System.Configuration;
    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 _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                // 设定初始排序参数值

                // 错误的属性设置方法:SortExpression、SortDirection均是GridView只读属性,无法直接赋值。
                //this.GridView1.SortExpression = "id";
                //this.GridView1.SortDirection = "ASC";

                // 正确的属性设置方法
                this.GridView1.Attributes.Add("SortExpression", "id");
                this.GridView1.Attributes.Add("SortDirection", "ASC");

                // 绑定数据源到GridView
                this.BindGridView();
            }
        }

        /// summary>
        /// GridView排序事件
        /// /summary>
        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            // 从事件参数获取排序数据列
            string sortExpression = e.SortExpression.ToString();

            // 假定为排序方向为“顺序”
            string sortDirection = "ASC";

            // “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改
            if (sortExpression == this.GridView1.Attributes["SortExpression"])
            {
                //获得下一次的排序状态
                sortDirection = (this.GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");
            }

            // 重新设定GridView排序数据列及排序方向
            this.GridView1.Attributes["SortExpression"] = sortExpression;
            this.GridView1.Attributes["SortDirection"] = sortDirection;

            this.BindGridView();
        }

        /// summary>
        /// 绑定到GridView
        /// /summary>
        private void BindGridView()
        {
            // 获取GridView排序数据列及排序方向
            string sortExpression = this.GridView1.Attributes["SortExpression"];
            string sortDirection = this.GridView1.Attributes["SortDirection"];

            // 调用业务数据获取方法
            DataTable dtBind = this.getDB();

            // 根据GridView排序数据列及排序方向设置显示的默认数据视图
            if ((!string.IsNullOrEmpty(sortExpression)) (!string.IsNullOrEmpty(sortDirection)))
            {
                dtBind.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);
            }

            // GridView绑定并显示数据
            this.GridView1.DataSource = dtBind;
            this.GridView1.DataBind();
        }

        /// summary>
        /// 获取数据源的方法
        /// /summary>
        /// returns>数据源/returns>
        private DataTable getDB()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("id");
            dt.Columns.Add("name");
            dt.Columns.Add("age");

            dt.Rows.Add(new object[] { "000001", "hekui", "26" });
            dt.Rows.Add(new object[] { "000002", "zhangyu", "26" });
            dt.Rows.Add(new object[] { "000003", "zhukundian", "27" });
            dt.Rows.Add(new object[] { "000004", "liyang", "25" });
            dt.Rows.Add(new object[] { "000005", "caili", "27" });

            return dt;
        }
    }

    您可能感兴趣的文章:
    • asp.net GridView排序简单实现
    • ASP.Net2.0 GridView 多列排序,显示排序图标,分页
    • Gridview自动排序功能的实现
    上一篇:VS2005打开VS2008项目的2种方法(vs2005怎么打开2008)
    下一篇:asp.net2.0中css失效的解决方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    gridview自动排序示例分享 gridview,自动,排序,示例,