关于GridView点击列头排序

关于GridView列头点击排序

做ASP.NET Web项目开发,经常会和GridView打交道,免不了会根据需求要有列头点击排序的功能,在网上看了很多资料都没有把实例讲全,下面以linq原生语法完成点击列头排序实例:

1)在页面源码中设置AllowSorting属性为True并增加OnSorting事件,以及在绑定列中增加对应的SortExpression属性,如下图:

2)对应页面的代码中添加相关函数及排序的逻辑函数;

注意,如上图,在Page_Load事件中,需要增加一个ViewState["sort"], 用来跟踪和保存控件的状态信息,事实上就是根据这个ViewState["sort"]来完成倒序和顺序的排列过程;

这里的gvHR_Sorting调用了一个方法,而这个方法的返回值又被赋值给ViewState["sort"]

方法很简单,就是读取ViewState["sort"]的状态值,如果为顺序,则排序,并返回一个倒序的值,反之亦然。

3)页面效果验证,开始按照数据库的默认顺序读取值,然后点击列头的"年龄",则实现排序:

点击前,如上图所示,年龄未按照顺序或者倒序排列,这是数据库存贮顺序;

点击"年龄"后,数据排序为倒序,即年龄从大到小,这正好符合程序逻辑的设计。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值