C#中实现DataGrid双向排序

佐1124

佐1124

2016-02-19 16:16

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享C#中实现DataGrid双向排序,希望可以对大家能有小小的帮助。

  在.Net 中 DataGrid 虽然有排序的功能,但并不支持双向的排序。用到了,看了些相关的帖子,自己尝试了一种方法,竟然也行得通,主要是用DataGrid.Attributes 存了一个参数,同时在onSortCommand中修改了DataGridColumn的SortExpression. 代码如下:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  

private void BindData(){ DataTable dt = .......; if(dt != null) {  DataView dv = dt.DefaultView;  if(DataGrid1.Attributes["SortBy"] != null)  {   dv.Sort = DataGrid1.Attributes["SortBy"];  }  DataGrid1.DataSource = dv;  DataGrid1.DataBind(); }}private void DataGridSort(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e){ DataGrid1.Attributes["SortBy"] = sortstr; this.BindData(); //找到排序的列,并修改把它的排序属性 DataGridColumn clm = null; for(int i=0;iDataGrid1.Columns.Count;i++) {  if(DataGrid1.Columns[i].SortExpression == e.SortExpression )  {   clm = DataGrid1.Columns[i];   break;  } } if(clm == null) return; if(e.SortExpression.ToLower().IndexOf("desc")  0) {  clm.SortExpression = e.SortExpression.ToLower().Replace("desc","asc"); } else {  if(e.SortExpression.ToLower().IndexOf("asc")  0)  {   clm.SortExpression = e.SortExpression.ToLower().Replace("asc","desc");  }  else  {   clm.SortExpression = e.SortExpression.ToLower() + " desc";  } }} 

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

C#中实现DataGrid双向排序

编程语言 网络编程
C#中实现DataGrid双向排序

DataGrid 中双向排序的一种办法

电脑网络
DataGrid 中双向排序的一种办法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

C#版MultiSelected DataGrid

电脑网络
C#版MultiSelected DataGrid

C#几种排序算法

编程语言 网络编程
C#几种排序算法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在C#程序中实现插件架构

编程语言 网络编程
在C#程序中实现插件架构

C#中实现网段扫描的代码

编程语言 网络编程
C#中实现网段扫描的代码

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

什么是电脑声卡

什么是电脑声卡

让ie以及老版本w3c浏览器 也支持 js1.6的 数组对象的 几个新增方

让ie以及老版本w3c浏览器 也支持 js1.6的 数组对象的 几个新增方
下拉加载更多内容 ↓