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

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

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

四、总结

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

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

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

    最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. <div id="pageGrid ...

  2. 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子

    备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...

  3. asp.net中,我们使用ashx获取数据列表,在前端使用$.ajax()解析

    一直在想在asp.net中怎么才能向在java中那样用struts那样做页面请求. 当然asp.net mvc就是类似struts的东西吧,不过还没来得及学习. 今天就用ashx来接收页面请求,并调用 ...

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

    一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add ...

  5. 024. asp.net中第一次使用GridView (设置鼠标经过时更换背景色)

    1. 前端HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Inde ...

  6. asp.net 中Repeater和Gridview的区别

             Griview:              优点:1.GridView是从WebControl派生出来的,拥有WebControl样式属性,自身会被解析为table,其中的每一行会被 ...

  7. ASP.NET中后台数据和前台控件的绑定

    关于ASP.NET中后台数据库和前台的数据控件的绑定问题 最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据 ...

  8. asp.net中导出Excel的方法

    一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...

  9. asp.net中导出Execl的方法

    一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给 ...

随机推荐

  1. canvas绘图基础及基于粒子系统的雪花飘落

    canvas是html中的一个元素,可以通过js操控绘图! 可以绘制各种图形,各种填充样式! 绘制时可以进行旋转,缩放,平移,但并不是很灵活! 有一对比较好用的方法是save restore! sav ...

  2. How to use php serialize() and unserialize()

    A PHP array or object or other complex data structure cannot be transported or stored or otherwise u ...

  3. iOS上传AppStore被拒原因及处理方案

    1.后台运行GPS 1.1 原文: Performance - 2.5.4 Your app declares support for location in the UIBackgroundMode ...

  4. incomplete type is not allowed

    keil环境下,报错#70: incomplete type is not allowed,解决 mqtt_conf.h 定义了一个结构体 mqtt_buffer.h #include <std ...

  5. 获取客户端IP地址经纬度所在城市

    <?php $getIp=$_SERVER["REMOTE_ADDR"]; echo 'IP:',$getIp; echo '<br/>'; $content = ...

  6. 在eclipse中生成实体类

    1.在eclipse的windows中选中preferences在查询框中输入driver definition 2.点击add在Name/type中选中mysql jdbc driver 5.1然后 ...

  7. delphi 关键字

    下面的关键字不能被重新定义或用作标志符:and array as asm begin case class const constructor destructor dispinterface div ...

  8. <?php function say() { echo 'hello world'; } //在这里调用函数 say(); php 调用方法say()

    <?php function say() {     echo 'hello world'; } //在这里调用函数 say(); php 调用方法say()

  9. 使用php创建WebSocket服务

    执行方法:首先先修改server.php与index.html的ip通过命令行执行 [php路径]php.exe "[文件路径]server.php"然后通过浏览器打开index. ...

  10. 浙大pat 1029题解

    1029. Median (25) 时间限制 400 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given an incre ...