zoukankan      html  css  js  c++  java
  • Asp.net中,点击GridView表头实现数据的排序

    一、实现该功能的基本工作。

    1、  先添加一个GridView,取名为gvData。

    2、  设置该控件的属性: 操作步骤如下

    设置属性:

    这4个属性,还要设置该控件AllowSorting="True",5点缺一不可。

    3、  编写该控件的gvData_Sorting事件

    双击,进去即可编写。

    二、代码实现 

     双击,进去即可编写。

    usingSystem.Data;
    usingSystem.Data.SqlClient;
     
    namespace 排序
    {
       public partial class WebForm2 :System.Web.UI.Page
       {
            protected voidPage_Load(object sender, EventArgs e)
            {
                if(!IsPostBack )
                {
                    //先给它一个默认状态,因为下面的bin()方法,需要用到状态值。               
                    ViewState["SortOrder"] = "depID";
     
                    ViewState["OrderDire"] = "ASC";
     
                    bind();
                    }
            }
            //单击dataGrid表头字段时触发给事件,把对应字段的DataField的值传过来,重新设置ViewState["SortOrder"]和ViewState["OrderDire"]属性。
            protected voidgvData_Sorting(objectsender, GridViewSortEventArgs e)
            {
                stringsPage = 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();
            }
     
            //获取数据,通过自定义视图来实现排序,及重新排序。
            public voidbind()
            {
                SqlConnection con= new SqlConnection("server=.;database=department;uid='sa';pwd='123456'");
                con.Open();
                string str= "select * from TDepartment";
                SqlCommand cmd= new SqlCommand(str,con);
                SqlDataAdaptersqlDA = new SqlDataAdapter(cmd);
                DataTabletabData = new DataTable();
                sqlDA.Fill(tabData);
                //通过自定义视图来实现排序
                DataViewview = tabData.DefaultView;
                stringsort = (string)ViewState["SortOrder"] + "" + (string)ViewState["OrderDire"];
                view.Sort = sort;
     
                gvData.DataSource = view;         
                gvData.DataBind();
                con.Close();         
            }
       }
    }

    三、实现单击表头,实现重新排列,效果如下:

           

    四、总结

          还没有开始了解需求的时候,感觉挺难的;当开始了解需求的时候,感觉没那么难;当真正实现的时候,真的没那么难。难的事,总是想逃避困难的心。很多事实证明:只要你相信自己,淡定的面对困难,很多问题将不再是问题。所以呢。。。

  • 相关阅读:
    Linux 不常用命令总结
    Linux系统修改防火墙配置
    更换git用户名或密码
    Linux 笔记
    laravel 上传文件到亚马逊 aws s3
    curl 发送请求的时候报错
    laraver + pusher + vue实现聊天室
    linux服务器查看公网IP信息的方法
    剑指offer :从尾到头打印链表
    剑指offer:替换空格
  • 原文地址:https://www.cnblogs.com/XACOOL/p/5655211.html
Copyright © 2011-2022 走看看