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();
}
}
}三、实现单击表头,实现重新排列,效果如下:
四、总结
还没有开始了解需求的时候,感觉挺难的;当开始了解需求的时候,感觉没那么难;当真正实现的时候,真的没那么难。难的事,总是想逃避困难的心。很多事实证明:只要你相信自己,淡定的面对困难,很多问题将不再是问题。所以呢。。。
Asp.net中,点击GridView表头实现数据的排序的更多相关文章
- miniui 给表格行添加监听事件的几种方法以及点击某列列名数据不能排序的问题
最近在使用miniui框架做开发,在做表格行的点击监听事件中发现了几个属性,都可以起到监听效果但是执行的结果却大有不同.好了废话不多说,直接上代码. <div id="pageGrid ...
- 一个在ASP.NET中利用服务器控件GridView实现数据增删改查的例子
备注:这是我辅导的一个项目开发组的一个例子,用文章的方式分享出来,给更多的朋友参考.其实我们这几年的项目中,都不怎么使用服务器控件的形式了,而是更多的采用MVC这种开发模式.但是,如果项目的历史背景是 ...
- asp.net中,我们使用ashx获取数据列表,在前端使用$.ajax()解析
一直在想在asp.net中怎么才能向在java中那样用struts那样做页面请求. 当然asp.net mvc就是类似struts的东西吧,不过还没来得及学习. 今天就用ashx来接收页面请求,并调用 ...
- asp.net中webservice与android的json数据交互方式设置
一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add ...
- 024. asp.net中第一次使用GridView (设置鼠标经过时更换背景色)
1. 前端HTML代码 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Inde ...
- asp.net 中Repeater和Gridview的区别
Griview: 优点:1.GridView是从WebControl派生出来的,拥有WebControl样式属性,自身会被解析为table,其中的每一行会被 ...
- ASP.NET中后台数据和前台控件的绑定
关于ASP.NET中后台数据库和前台的数据控件的绑定问题 最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据 ...
- asp.net中导出Excel的方法
一.asp.net中导出Excel的方法: 本文转载 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出 ...
- asp.net中导出Execl的方法
一.asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上:一种是将文件直接将文件输出流写给 ...
随机推荐
- 2.1 IDEA
1.背景:IntelliJ IDEA 比 Eclipse 更好http://www.oschina.net/news/26929/why-intellij-is-better-than-eclipse ...
- 物流进程html+css页面
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> & ...
- net之session漫谈及分布式session解决方案
最近一直在纠结net下分布式会话的实现,现将近日来的个人感想记录如下,如果有什么更好的解决方案请指教. 1.什么是session: Session 对象存储特定用户会话所需的属性及配置信息.这样,当用 ...
- mac版Tomcat安装
挺好安装的,就是网上资料有的错了. 1.下载Tomcat 网址:http://tomcat.apache.org,解压在~/Downloads 目录下,我的版本是apache-tomcat-7.0.7 ...
- google浏览器图标显示不正常怎么办
taskkill /f /im explorer.exe rem 清理系统图标缓存数据库 attrib -h -s -r "%userprofile%\AppData\Local\IconC ...
- 《学习的艺术》 (The Art of Learning)——划小圈 (Making Smaller Circles)
“……我对象棋.武术以及范围更广的整个学习过程这三者的核心及相互关系的研究在一定程度上是受到了罗伯特.波席格<摩托车维护艺术>一书的启发.我决不会忘记指导我今后数年学习方式的那一幕.波席格 ...
- Zookeeper实现分布式锁服务(Chubby)
在分布式系统中,如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰,来保证一致性,在这种情况下,便需要使用到分布式锁例如有N台服务器同时 ...
- Faster-R-CNN编译使用及相应问题解决
1.首先opencv是需要安装的,我用的ubuntu14.04,opencv3.0,具体安装教程可以参考网上很多,不想多提. 2.安装几个依赖包:cython,python-opencv和easydi ...
- JavaScript 属性操作
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- ListView上下线添加
<com.jclick.swipelistview.byzswipemenulistview.InScrollviewSwipeMenuListView android:id="@+i ...


