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

C#中实现DataGrid双向排序

–>  在.Net 中 DataGrid 虽然有排序的功能,但并不支持双向的排…
–>  第三章: 类属性    使用过RAD开发工具的一定inspecto…
–>  在微软的.NET推出后,关于C#的有关文章也相继出现,作为微…
–>  C# 用户经常提出两个问题:“我为什么要另外编写代码来使用…
–>  对于如何使用 WebRequest 和 WebResponse 类在 URI 上生成…
–>文/menhal  保证应用程序的安全应当从编写第一行代码的时候开…
–>冒泡排序    学语言要花大力气学数据结构和算法。 u…
–>  简介  Microsoft.NET Framework 精简版的一个主要功能是…
–>  Xml全称可扩展标记语言(extensible marked language),这…
–>NET Framework: 就是微软Web Services 引擎  有许多程序设计…
–> 大多数 ADO.NET 数据提供程序使用连接池,以提高围绕 Microso…
–>  Cache 即高速缓存 ,我想很多人对他的第一印象一定像我一样…
–>  在开发软件应用程序过程中,随着应用程序的开发,会出现重…
–>//名称空间 using System; using System.Security.Cryptograph…
–>  当我们需要使用的对象很复杂或者需要很长时间去构造,这时…
–>  在使用ASP的时候,我们时常要借助第三方控件来实现一些图象…
–>  版本控制是一个过程,它以兼容的方式对组件进行不断的改进…
–> 一个接口定义一个协定。实现接口的类或结构必须遵守其协定。接…
–>  在DataGrid中一般只能单个获取每一行的数据,若要批量获取…
–>  首先我们将从一个示范开始,在这个示范中我将使用一个按钮…
–>  2.下面这个方法是自己写的,翻页事件中调用。 private vo…
–>  要想实现翻页后继续排序,实现这样的效果:   比如共 15笔…
–>  一、前言    .NET框架是Windows应用领域中一个非常新的…
–>共享对象类别库  ASP.NET 是共享对象类别库中的一员,ASP.NE…
–>  大名鼎鼎的 Crystal Reports(水晶报表)已内嵌为微软 Vis…
–>  1、分析一下番茄花园的歌来源: PageUrl = "http://tomato…
–>  引言    在 Web 开发人员的最常见任务之中,有一项任务…
–> 1,将 Text 属性设置为将自己要连接时候的文字。 2,设置 L…
–>  介绍  很多有着不同开发背景得人都会比较熟悉单例模式。…
–> 数据类型 数据类型简写 标准命名举例 …
–>  ADO.NET 为数据在内存中的操作和储存提供了一种新模式。因…
–>  继承概述   面向对象编程 (OOP) 语言的一个主要功能就是…
–>  在Windows Mobile软件开发中.Net正扮演着日益重要的角色,…
–>  什么是 .NET 框架?   Microsoft .NET 框架是生成、部署…
–> 附录 所支持平台的例外情况 命名空间 项 XPPro XPHome 20…
–> 新的 DataGridView 是 .NET 2.0 中的一个新控件,是针对 .NET…
–>  当然,这里所谓的文件是指完整的文件名称,至于文件的内容…
–>  大家一定对Web Service模型在.NET中的重要性都有所了解,那…
–>  一、资源文件的定义   简单点的说法就是程序中可以使用…
–>  本文将讨论.NET的应用程序域,并且它们是如何对ASP.NET的执…
–>  微软公司推出的ASP.NET和C# 编译器使IT业界感到了惊讶。现…
–>  在经历了N次安装CTP不成功的惨痛经历之后(N>4),我终于等…
–>  Viusal Studio2005极大地丰富了它的库,可以说是科研背后的…
–>   早以前的dos应用程序中,我们经常会用命令行参数执行应用…
–> 类声明定义新的引用类型。一个类可以从另一个类继承,并且可以…
–>  在本文的第一部分,我们研究了如何设定DataGrid Web控件的…

 


评论

该日志第一篇评论

发表评论

评论也有版权!