详解ASP.NET4 GridView新增4大排序样式

  与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Width, Height等等。Gridview还包括了一些应用在表格的行上的样式属性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它们都提供了象CssClass和Font这些基本的属性设置。

  在ASP.NET 4.0中的Gridview控件中,新增加了四个样式属性:SortedAscendingHeaderStlye,SortedAscendingCellStlye,SortedDescendingHeaderStyle和SortedDescendingCellStyle。这四个属性有点像以前的RowStyle和HeaderStyle样式属性,但它们是应用在gridview的列的,而不是行。当GridView需要排序的时候,这些属性才起作用,如果当gridview需要按升序排序的话,那么SortedAscendingHeaderStyle和SortedAscendingCellStyle属性定义了数据排序时的样式风格。如果gridview是降序排序时,SortedDescendingHeaderStyle和SortedDescendingCellStyle属性则定义了排序时的样式风格。

  这四个新的特性使在排序的时候,更容易定制数据排序时列的外观样式。这些属性与CSS样式搭配使用的话,可以在表格排序时增加向上的箭头和向下的箭头,以表明当前是按升序还是降序排序。本文将介绍如何使用这四个新的属性的样式。

  GridView中的排序回顾

  在Gridview中默认是文本的方式显示每一列的列头的。要排序的话,必须首先设置Gridview的AllowSorting属性,这将使Gridview将要排序的列以链接的方式展现,当用户点击时,就会触发排序的事件。如果GridView绑定到数据源控件了,则你不必编写任何代码去处理排序,一切都是自动完成的。

  从用户的角度来看,点击标题行中的排序列一下,则会让表格中的该列数据以升序排序,同样再点击一下,则以降序排序。遗憾的是,在以往asp.net 中的GridView不提供任何的方法以显示给用户看,当前的排序列是按升序排序还是以降序排序。在asp.net 4.0之前,要实现的唯一方法只有编写一些代码了,使用Gridview增加SortAscendingStyle 和SortDescendingStyle两个属性,并且使用了CSS去模拟画出两个上下的箭头。

  而在ASP.NET 4.0中,已经内置了这样的功能了,下面讲解下。

  新的排序相关样式属性

  ASP.NET 4.0中新增的4个排序相关的属性如下:

  SortedAscendingHeaderStyle 当Gridview以升序排列时,定义了排序列的表头样式。

  SortedAscendingCellStyle 当Gridview以升序排列时,定义了要排序的数据列的样式。

  SortedDescendingHeaderStyle 当Gridview以降序排列时,定义了排序列的表头样式。

  SortedDescendingCellStyle 当Gridview以降序排列时,定义了要排序的数据列的样式。

  有了这些属性,在排序时,只需要简单对它们进行设置就可以了,比如下面的例子中,简单设置了SortedAscendingCellStyle属性和SortedDescendingCellStyle的子样式背景颜色为黄色,马上就可以看到效果了:

<asp:GridView ID="..." runat="server" AutoGenerateColumns="False" AllowSorting="true"

...

SortedAscendingCellStyle-BackColor="Yellow"

SortedDescendingCellStyle-BackColor="Yellow">

...

</asp:GridView>

  当然,为了观察方便,可以设置 SortedAscendingCellStyle-BackColor和SortedDescendingCellStyle-BackColor为不同的颜色则可看到更清晰的效果。 

  为排序列加上箭头

  使用的CSS配合SortedAscendingHeaderStyle和SortedDescendingHeaderStyle两个属性,则为排序列增加向上和向下箭头的表示排序状态是很容易的。首先,你需要找一些向上箭头或者向下箭头的图片,在本文的代码下载中是有这样的图片了。接者需要创建两个CSS类,比如下文中的sortasc—header和sortdesc-header,在这两个CSS类中需要指定上下箭头图片所在的位置,同时我们要在排序列的右边定义一个适当的间隔位置,以便让向上和向下箭头不被排序列所在的表头的文本所覆盖。如下所示:

.sortasc-header A

{

background:url(URL to up arrow image) right center no-repeat;

}

.sortdesc

-header A

{

background:url(URL to down arrow image) right center no-repeat;

}

TH A

{

padding

-right: 20px;

}

  之后我们就可以利用这些样式了:

<asp:GridView ID="..." runat="server" AutoGenerateColumns="False" AllowSorting="true"

...

SortedAscendingHeaderStyle-CssClass="sortasc-header"

SortedDescendingHeaderStyle-CssClass="sortdesc-header"

SortedAscendingCellStyle-BackColor="Yellow"

SortedDescendingCellStyle-BackColor="Yellow">

...

</asp:GridView>

  实现的效果如下图所示:

时间: 2024-08-16 19:38:01

详解ASP.NET4 GridView新增4大排序样式的相关文章

一起谈.NET技术,详解ASP.NET4 GridView新增4大排序样式

与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Width, Height等等.Gridview还包括了一些应用在表格的行上的样式属性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它们都提供了象CssClass和Font这些基本的属性设置. 在ASP.NET 4.0中的Gridvi

ASP.NET4 GridView的四种排序样式详解_实用技巧

与ASP.NET 的其他Web控件一能够,Gridview控件拥有很多不同的CSS样式属性设置,包括象CssClass,Font字体,ForeColor,BackColor,BackColor, Width, Height等等.Gridview还包括了一些应用在表格的行上的样式属性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它们都提供了象CssClass和Font这些基本的属性设置.  在 ASP.NET 4.0中的Grid

实例详解jQuery结合GridView控件的使用方法_jquery

jQuery是一种非常强大的客户端JS编程技术,这里不想过多阐述它的相关背景知识,只想简单演示一下如何与asp.net的控件结合开发. 比如,我们要做一个下面如图所示的功能,效果是状态.编号.数字1.数字2.平均值所有的项都是通过后台绑定,如何点击checkbox按钮,来实现自动计算当前行两个数字的平均值呢?前提是用jQuery来实现? 我们直接在页面的Page_Load事件中输入如下代码: protected void Page_Load(object sender, EventArgs e)

实例详解ASP中断开记录集的使用方法

断开|记录集|详解 我们在使用ASP 内置的ADO组件进行数据库编程时,通常是在脚本的开头打开一个连接,并在脚本的最后关闭它,但是就较大脚本而言,在多数情况下连接打开的时间要比它需要打开的时间长得多.因此为了节省服务器资源,应该尽可能关闭连接以释放连接所占有的资源,这种关闭记录集的连接而不关闭记录集的技术叫做断开记录集,这个记录集本身则称为断开的记录集. 下面我们就通过一个实例来说明这种技术的使用方法(NorthWind.mdb是Microsoft Access97自带的一个数据库,文件adov

实例详解ASP的上传功能

上传|详解|上传     这个问题已经不是什么新鲜问题了,网上也有大把的教程,但大多数是授人以鱼,而不授人以渔,经过辛苦的资料收集,思考,调试,整理,我基本上已经把这个问题从原理上搞清楚了,现在根据我自己的理解,在范例程序的基础上,加以解释,希望能对部分网友有所帮助. 请诸位大虾能对其中的不正或不良这处予以指正. 我想循序渐进,先讲一个简单的,单个图片文件保存到数据库. 这个范例共包括三个ASP文件和一个数据库(一个表),全部在同一目录下. 1.tblImage 表结构(ACCESS 2000)

详解CSS定义HR水平线的几种样式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">  &

详解ASP.NET Core和ASP.NET Framework共享身份验证_实用技巧

.NET Core 已经热了好一阵子,1.1版本发布后其可用性也越来越高,开源.组件化.跨平台.性能优秀.社区活跃等等标签再加上"微软爸爸"主推和大力支持,尽管现阶段对比.net framework还是比较"稚嫩",但可以想象到它光明的前景.作为.net 开发者你是否已经开始尝试将项目迁移到.net core上?这其中要解决的一个较大的问题就是如何让你的.net core和老.net framework站点实现身份验证兼容! 1.第一篇章 我们先来看看.net co

详解Windows 7 SP1新增功能

微软日前发布了Windows 7/Server 2008 R2 SP1的RC候选版本,在下载说明中,微软再次重申SP1中新增的功能只有两项与Windows Server 2008 R2相关的虚拟化技术:RemoteFX.动态内存(Dynamic Memory).Windows 7 SP1则能帮助PC机利用上述基于服务器的功能,并没有新增其它功能. 如此说来,我们就要重视这两个功能,今天我们将微软关于这两个功能的官方描述汇总一下,希望能让大家对这两个功能有初步的认识. 首先,RemoteFX是微软

详解ASP.NET MVC 2中的新ADO.NET实体框架

.NET框架4.0的发行推出了许多优秀的增强功能,其中当首推ADO.NET实体框架.该框架已经克服了以前的许多错误,并提供了一组增强的 API,其中包括许多新的LINQ to SQL框架方面的改善.在本文中,我们将使用这些API的功能来创建一个通用版本的数据仓库. 一.实体框架概述 实体框架针对数据模型提供了一些更方便的操作方法.默认情况下,设计器可以生成一个描述数据库的模型. 尽管表格间的映射未必都是1:1的映射.每个表格使用一个ObjectSet加以描述,进而ObjectSet对象又提供了相