GridView正反向排序

问题描述

if(!IsPostBack){databind();ViewState["Filed"]="province";ViewState["Sort"]="ASC";}publicvoiddatabind(){SqlConnectioncn=newSqlConnection(ConfigurationManager.ConnectionStrings["sqltest"].ConnectionString);cn.Open();stringsql="SELECT*FROMProvinceASPJOINCityASCONP.provinceID=C.FartherID";SqlDataAdaptersda=newSqlDataAdapter(sql,cn);DataSetds=newDataSet();sda.Fill(ds);DataViewdv=newDataView(ds.Tables[0]);dv.Sort=(string)ViewState["Filed"]+""+(string)ViewState["Sort"].ToString();//未将对象引用设置到对象的实例。GridViewTests.DataSource=dv;GridViewTests.DataBind();cn.Close();}protectedvoidGridViewTests_Sorting(objectsender,GridViewSortEventArgse){stringstrPage=e.SortExpression;if(ViewState["Filed"].ToString()==strPage){if(ViewState["Sort"].ToString()=="ASC"){ViewState["Sort"]="DESC";}else{ViewState["Sort"]="Desc";}}else{ViewState["SortOrder"]=strPage;databind();}}这是我写的GridView正反向排序,,不知道是哪里错误了里面标注的地方提示();//未将对象引用设置到对象的实例。我写完后还没有成功请大家帮我纠正一下谢谢了

解决方案

解决方案二:

解决方案三:
给你顶
解决方案四:
ViewState的赋值应该在绑定之前if(!IsPostBack){ViewState["Filed"]="province";ViewState["Sort"]="ASC";databind();}
解决方案五:
sql语句里面orderby排序呗
解决方案六:
用viewstate记录排序方式,点击一次转换
解决方案七:
引用3楼ojlovecd的回复:

ViewState的赋值应该在绑定之前if(!IsPostBack){ViewState["Filed"]="province";ViewState["Sort"]="ASC";databind();}

同意,代码顺序问题

时间: 2024-10-27 19:58:54

GridView正反向排序的相关文章

ASP.NET中GridView正反双向排序

效果图:点姓名各2次的排序,点其他也一样可以. 后台代码: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.We

ASP.Net2.0 GridView 多列排序,显示排序图标,分页

asp.net|分页|排序|显示     最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用时很迷惑,因为不知道是升序了还是降序了,所以今天首先解决的第一问题就是升序降序在列上显示图标,第二要解决的问题是默认GridView按列排序只能排一列的,也就是不能进行多列排序,而在实际应用中仅仅按照一列来排序是不能满足业

ASP.Net2.0 GridView 多列排序,显示排序图标,分页_实用技巧

    最近在使用ASP.net 2.0的GridView 控件时,发现排序与分页功能Microsoft实现的都很简单,比如排序,在点击列名的时候来触发整页的PostBack,然后排序,但是在列头上没有一个显示升序降序的图标,这会让最终用户使用时很迷惑,因为不知道是升序了还是降序了,所以今天首先解决的第一问题就是升序降序在列上显示图标,第二要解决的问题是默认GridView按列排序只能排一列的,也就是不能进行多列排序,而在实际应用中仅仅按照一列来排序是不能满足业务需求的,第三是GridView

asp.net GridView多列排序及排序方向图标代码

asp教程.net GridView多列排序及排序方向图标代码 public class WebGridView : GridView     {         /**/         ///         /// 是否启用或者禁止多列排序         ///         [         Description("是否启用多列排序功能"),         Category("排序"),         DefaultValue("fal

实用技巧:datagrid的正反双向排序

datagrid|技巧|排序 呵呵,本没有写文章之意,看到好友阿好(hbzxf)的文章,也决定把平时的一些东西写出来和大家分享!有疏漏之处,敬请大家指教! 在asp.net中利用datagrid控件按列进行排序很是方便.可是我们只能单项排序!如果我们需要正反排序那么就需要加入一些代码控制一下,下面我来详细讲解一下这个过程. 首先我们需要将datagird控件的属性设置为 AllowSorting="True",且需要排序列需要制定排序表达式 eg: SortExpression=&qu

gridview下的排序与汇总

问题描述 有谁知道汇总后,按一下排序,则汇总的内容即gridview下的footer的内容不见了,为什么 解决方案 解决方案二:不知道,通常我都用报表.没有gridview做过.

手把手教你如何扩展GridView之自动排序篇

最新重构源码下载:打造0代码全自动GridView-天具神力            看到这两天园子里面"强奸"GridView的兄弟们可真不少,自己也手痒,也凑凑热闹,写得好,大家鼓励鼓励,写的不好,大家多多指教. 首先说说本文要实现的目的,大家都知道GridView支持排序,但是每次排序的时候,都需要给GridView添加OnSorting事件,这么繁琐而费力,作为世界上最最聪明的程序员的我们难道没有抱怨么?废话少说,不才想到了一种解决这个问题的方法,可以让大家一劳永逸.下面就让兄弟

C#精髓 GridView72大绝技 学习gridview的朋友必看_实用技巧

快速预览:GridView无代码分页排序GridView选中,编辑,取消,删除GridView正反双向排序GridView和下拉菜单DropDownList结合GridView和CheckBox结合鼠标移到GridView某一行时改变该行的背景色方法一鼠标移到GridView某一行时改变该行的背景色方法二GridView实现删除时弹出确认对话框GridView实现自动编号GridView实现自定义时间货币等字符串格式GridView实现用"..."代替超长字符串GridView一般换行

灵活掌握asp.net中gridview控件的多种使用方法(上)_实用技巧

灵活使用asp.net中gridview控件的方法有很多种,本文内容很富,希望大家都能有所收获. 1.GridView无代码分页排序: 效果图: 小提示: 1.AllowSorting设为True,aspx代码中是AllowSorting="True": 2.默认1页10条,如果要修改每页条数,修改PageSize即可,在aspx代码中是PageSize="12". 3.默认的是单向排序的,右击GridView弹出"属性",选择AllowSort