前台注意点:

需要对GridView启用AllowSorting、设置OnSorting事件,对需要排序的列设定SortExpression属性。

(后台)

using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

if (!IsPostBack)

{

// 设定初始排序参数值

// 错误的属性设置方法:SortExpression、SortDirection均是GridView只读属性,无法直接赋值。

//this.GridView1.SortExpression = "id";

//this.GridView1.SortDirection = "ASC";

// 正确的属性设置方法

this.GridView1.Attributes.Add("SortExpression", "id");

this.GridView1.Attributes.Add("SortDirection", "ASC");

// 绑定数据源到GridView

this.BindGridView();

}

}

///

/// GridView排序事件

///

protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)

{

// 从事件参数获取排序数据列

string sortExpression = e.SortExpression.ToString();

// 假定为排序方向为“顺序”

string sortDirection = "ASC";

// “ASC”与事件参数获取到的排序方向进行比较,进行GridView排序方向参数的修改

if (sortExpression == this.GridView1.Attributes["SortExpression"])

{

//获得下一次的排序状态

sortDirection = (this.GridView1.Attributes["SortDirection"].ToString() == sortDirection ? "DESC" : "ASC");

}

// 重新设定GridView排序数据列及排序方向

this.GridView1.Attributes["SortExpression"] = sortExpression;

this.GridView1.Attributes["SortDirection"] = sortDirection;

this.BindGridView();

}

///

/// 绑定到GridView

///

private void BindGridView()

{

// 获取GridView排序数据列及排序方向

string sortExpression = this.GridView1.Attributes["SortExpression"];

string sortDirection = this.GridView1.Attributes["SortDirection"];

// 调用业务数据获取方法

DataTable dtBind = this.getDB();

// 根据GridView排序数据列及排序方向设置显示的默认数据视图

if ((!string.IsNullOrEmpty(sortExpression)) && (!string.IsNullOrEmpty(sortDirection)))

{

dtBind.DefaultView.Sort = string.Format("{0} {1}", sortExpression, sortDirection);

}

// GridView绑定并显示数据

this.GridView1.DataSource = dtBind;

this.GridView1.DataBind();

}

///

/// 获取数据源的方法

///

/// 数据源

private DataTable getDB()

{

DataTable dt = new DataTable();

dt.Columns.Add("id");

dt.Columns.Add("name");

dt.Columns.Add("age");

dt.Rows.Add(new object[] { "000001", "hekui", "26" });

dt.Rows.Add(new object[] { "000002", "zhangyu", "26" });

dt.Rows.Add(new object[] { "000003", "zhukundian", "27" });

dt.Rows.Add(new object[] { "000004", "liyang", "25" });

dt.Rows.Add(new object[] { "000005", "caili", "27" });

return dt;

}

}

gridview的sort_GRIDVIEW排序的动态实现...相关推荐

  1. gridview的sort_GridView排序:SortDirection始终升序

    我有一个gridview,当用户单击标题时,我需要对其元素进行排序. 它的数据源是一个List对象. aspx是这样定义的: AutoGenerateColumns="false" ...

  2. gridview的sort_Gridview分页后排序

    Gridview 点击排序字段, 对分页后的数据根据排序字段进行升降排序 GridView 我用的是默认分页 , 排序的代码如下: protected void gvResult_Sorting(ob ...

  3. gridview的sort_GridView实现自动排序带上下箭头

    GridView排序 ForeColor="#333333" GridLines="None" AllowSorting="True" On ...

  4. GridView正反双向排序

    点击GridView的标题,实现相应字段的正向.逆向排序. 1. 首先设置GridView的属性,触发GridView的事件. 设置GridView的AllowSorting属性为True, 设置各列 ...

  5. android gridview拖动排序,Asp.net GridView 拖拽排序    原创(欢迎拍砖,敬请嘴下留情!)...

    原理:客户端排序(或者说组织新的排序顺序),Ajax 更新服务器端数据. 客户端用jquery插件sortable实现拖拽排序,保存之前检索顺序变化了的数据,并组织成Json数据,用AJax传送到服务 ...

  6. VB实现6大排序算法---动态过程展示(建议收藏)

    VB实现6大排序算法:插入排序.基数排序.快速排序.希尔排序.选择排序.归并排序.可以随机生成指定个数的数据,显示排序过程,给出排序结果,计算排序算法消耗的时间. 生成随机数: 排序结果: 插入排序: ...

  7. 十大经典排序算法(动态演示+代码)

    时间复杂度是指程序执行函数或方法的效率常用大写的O表示,比如执行一个循环我们记做O(n),执行一个加法运算或者执行一个if操作我们记为O(1)​. ​ 时间.空间复杂度比较 1 冒泡排序 算法思想: ...

  8. Linq学习——gridview实现双向排序

    前端代码: 添加一个gridview,将AllowSorting属性设置为true,在gridview每一列的SortExpression属性中添加相应的值,生成的代码如下: <asp:Grid ...

  9. 数据结构 --- 超全的排序总结--八大排序,动态图,代码

    目录

  10. GridView实战一:自定义分页、排序、修改、插入、删除

    前言: 在某次公司面试时被问到对GridView操作的熟悉程度,在那之前一直用Repeater内嵌table标签对GridView操作确实很少,于是最近在项目的后台上对GridView进行了一番实操, ...

最新文章

  1. FPGA开发综合技巧
  2. Shell 去掉文本中的空格
  3. 2021年中国计算机视觉人才调研开启啦,诚邀各位开发者们参与~
  4. 微信小程序获取用户的 OpenId (附前端代码)
  5. python期末知识点_史上最全的Python知识点整理之基本语法
  6. 从DataTable导出Excel,并下载,删除Excel进程。
  7. 读大道至简第五章有感
  8. 花了 4 天,破解 UNIX 联合创始人 39 年前的密码!
  9. 寻找优秀的AI公司与受人尊敬的资本助推者 | 量子位年度评选进行时
  10. Elasticsearch之中文分词器
  11. C# 中intptr用法
  12. 线性分类器及Python实现
  13. 服务器IIS6/IIS7、Nginx、Apache屏蔽垃圾爬虫UA禁止垃圾爬虫,屏蔽指定UA
  14. 用计算机制作演示文稿教案博客,《创作演示文稿》教学设计
  15. 爬虫小程序 - 单词量测试
  16. CentOS 8上安装Docker
  17. 使用TLC2543来读取电压
  18. java 混淆_Java 混淆那些事(一):重新认识 ProGuard
  19. Launcher的简单讲解一
  20. 苹果和安卓正确的卸载软件方法分享

热门文章

  1. XML第十讲:XML中Schema深入详解、元素、属性、关系
  2. java对接云之家群聊机器人
  3. c语言相机翻译器下载,拍照翻译器
  4. centos 7.7.1908上隐藏顶栏和任务栏
  5. 基于python实现全网视频解析--javaWeb篇
  6. arcgis可达性分析
  7. matlab中blur函数_matlab-----均值滤波函数的实现
  8. 评价的等级优良差_老师问:小学考试用优良等级评价,可取吗?
  9. OFDM转向FBMC
  10. 高频小信号谐振放大器设计-课程设计Multisim仿真