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

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

四、总结

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

时间: 2024-10-10 21:11:27

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

asp.net中Repeater中用ul li绑定数据

<ul class="tit1"> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <li> <p class="tit1-p-1"> <img style="border: 0px;" src="/image/biaozhi.jpg" /> &

miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题

最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. <div id="pageGrid" class="mini-datagrid" style="width: 100%; height: 100%; border:0;" url="${ctx}/tAXINFO/queryRepeat" autoload="tru

asp.net中webservice与android的json数据交互方式设置

一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add name= "HttpPost"/> <add name= "HttpGet"/> </protocols> </webServices> 2.修改XX.asmx.cs [WebService(Namespace = &quo

ASP.NET中MVC从后台控制器传递数据到前台

http://www.readnovel.com/novel/21259/2306.htmlhttp://www.readnovel.com/novel/21259/2307.htmlhttp://www.readnovel.com/novel/21259/2308.htmlhttp://www.readnovel.com/novel/21259/2309.htmlhttp://www.readnovel.com/novel/21259/2310.htmlhttp://www.readnovel

asp.net中导出Execl的方法

一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给浏览器.在Response输出时,\t分隔的数据,导出 execl时,等价于分列,\n等价于换行. 1.将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中.   Response.Clear();       Response.Buffer=  

c#中DropDownList控件绑定枚举数据

c# asp.net 中DropDownList控件绑定枚举数据 1.枚举(enum)代码: private enum heros { 德玛 = 0, 皇子 = 10, 大头 = 20, 剑圣 = 30, } 如果不为枚举数列表中的元素指定值,则它们的值将自动递增,从1开始. 2.cs代码: private void LoadData() { //检索枚举heros返回包含每个成员的值的数组 Array herosArray = Enum.GetValues(typeof(heros)); fo

Asp.net中GridView使用详解(引)【转】

Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一行时改变该行的背景色方法二 GridView实现删除时弹出确认对话框 GridView实现自动编号 GridView实现自定义时间货币等字符串格式 GridView实现用

Asp.net中GridView使用详解(很全,很经典)

http://blog.csdn.net/hello_world_wusu/article/details/4052844 Asp.net中GridView使用详解 效果图参考:http://hi.baidu.com/hello%5Fworld%5Fws/album/asp%2Enet中以gv开头的图片 l         GridView无代码分页排序 l         GridView选中,编辑,取消,删除 l         GridView正反双向排序 l         GridVi

ASP.net中的AJAX学习记录六 无刷新的数据编辑(GridView和DetailsView结合实例)(转)

本篇博客是仿照书中实例,实现GridView和DetailsView结合无刷新的数据编辑效果,页面效果:当点击GridView1的行或换页时,都会引发DetailsView1的数据绑定显示至页面,同时当使用DetailsView1编辑.删除.添加时,也会引起GridView1的重新绑定,整体页面实现无刷新. 页面布局: 1.新建AJAX窗口,命名为:"NoRefreshEdit.aspx".要想实现页面无刷新编辑,就必须使用两个Updatepanel. 2.在NoRefreshEdit