Asp.net中,点击GridView表头实现数据的排序

  • Post author:
  • Post category:其他





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


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();         
        }
   }
}


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




四、总结


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



版权声明:本文为hxj135812原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。