ASP.NET4 GridView的四種排序樣式詳解
與ASP.NET 的其他Web控件一能夠,Gridview控件擁有很多不同的CSS樣式屬性設(shè)置,包括象CssClass,Font字體,F(xiàn)oreColor,BackColor,BackColor, Width, Height等等。Gridview還包括了一些應(yīng)用在表格的行上的樣式屬性,比如RowStyle, AlternatingRowStyle, HeaderStyle,和PagerStyle,它們都提供了象CssClass和Font這些基本的屬性設(shè)置。
在 ASP.NET 4.0中的Gridview控件中,新增加了四個樣式屬性:SortedAscendingHeaderStlye,SortedAscendingCellStlye,SortedDescendingHeaderStyle 和SortedDescendingCellStyle。這四個屬性有點像以前的RowStyle和HeaderStyle樣式屬性,但它們是應(yīng)用在 gridview的列的,而不是行。當(dāng)GridView需要排序的時候,這些屬性才起作用,如果當(dāng)gridview需要按升序排序的話,那么 SortedAscendingHeaderStyle和SortedAscendingCellStyle屬性定義了數(shù)據(jù)排序時的樣式風(fēng)格。如果 gridview是降序排序時,SortedDescendingHeaderStyle和SortedDescendingCellStyle屬性則定義了排序時的樣式風(fēng)格。
這四個新的特性使在排序的時候,更容易定制數(shù)據(jù)排序時列的外觀樣式。這些屬性與CSS樣式搭配使用的話,可以在表格排序時增加向上的箭頭和向下的箭頭,以表明當(dāng)前是按升序還是降序排序。本文將介紹如何使用這四個新的屬性的樣式。
GridView中的排序回顧
在Gridview中默認是文本的方式顯示每一列的列頭的。要排序的話,必須首先設(shè)置Gridview的AllowSorting屬性,這將使 Gridview將要排序的列以鏈接的方式展現(xiàn),當(dāng)用戶點擊時,就會觸發(fā)排序的事件。如果GridView綁定到數(shù)據(jù)源控件了,則你不必編寫任何代碼去處理排序,一切都是自動完成的。
從用戶的角度來看,點擊標題行中的排序列一下,則會讓表格中的該列數(shù)據(jù)以升序排序,同樣再點擊一下,則以降序排序。遺憾的是,在以往asp.net 中的GridView不提供任何的方法以顯示給用戶看,當(dāng)前的排序列是按升序排序還是以降序排序。在asp.net 4.0之前,要實現(xiàn)的唯一方法只有編寫一些代碼了,使用Gridview增加SortAscendingStyle 和SortDescendingStyle兩個屬性,并且使用了CSS去模擬畫出兩個上下的箭頭。
而在ASP.NET 4.0中,已經(jīng)內(nèi)置了這樣的功能了,下面講解下。
新的排序相關(guān)樣式屬性
ASP.NET 4.0中新增的4個排序相關(guān)的屬性如下:
• SortedAscendingHeaderStyle 當(dāng)Gridview以升序排列時,定義了排序列的表頭樣式。
• SortedAscendingCellStyle 當(dāng)Gridview以升序排列時,定義了要排序的數(shù)據(jù)列的樣式。
• SortedDescendingHeaderStyle 當(dāng)Gridview以降序排列時,定義了排序列的表頭樣式。
• SortedDescendingCellStyle 當(dāng)Gridview以降序排列時,定義了要排序的數(shù)據(jù)列的樣式。
有了這些屬性,在排序時,只需要簡單對它們進行設(shè)置就可以了,比如下面的例子中,簡單設(shè)置了SortedAscendingCellStyle屬性和SortedDescendingCellStyle的子樣式背景顏色為黃色,馬上就可以看到效果了:
<asp:GridView ID="..." runat="server" AutoGenerateColumns="False" AllowSorting="true" ... SortedAscendingCellStyle-BackColor="Yellow" SortedDescendingCellStyle-BackColor="Yellow"> ... </asp:GridView>
當(dāng)然,為了觀察方便,可以設(shè)置 SortedAscendingCellStyle-BackColor和SortedDescendingCellStyle-BackColor為不同的顏色則可看到更清晰的效果。
為排序列加上箭頭
使用的CSS配合SortedAscendingHeaderStyle和SortedDescendingHeaderStyle兩個屬性,則為排序列增加向上和向下箭頭的表示排序狀態(tài)是很容易的。首先,你需要找一些向上箭頭或者向下箭頭的圖片,在本文的代碼下載中是有這樣的圖片了。接者需要創(chuàng)建兩個 CSS類,比如下文中的sortasc—header和sortdesc-header,在這兩個CSS類中需要指定上下箭頭圖片所在的位置,同時我們要在排序列的右邊定義一個適當(dāng)?shù)拈g隔位置,以便讓向上和向下箭頭不被排序列所在的表頭的文本所覆蓋。如下所示:
.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>

相關(guān)文章
.NET?API?接口數(shù)據(jù)傳輸加密最佳實踐記錄
這篇文章主要介紹了.NET?API?接口數(shù)據(jù)傳輸加密最佳實踐記錄,我們在做?Api?接口時,相信一定會有接觸到要給傳輸?shù)恼埱?body?的內(nèi)容進行加密傳輸。其目的就是為了防止一些敏感的內(nèi)容直接被?UI?層查看或篡改,需要的朋友可以參考下2022-10-10
jquery中如何獲得服務(wù)器控件實現(xiàn)思路
jquery中如何獲得服務(wù)器控件,很多新手朋友對此比較陌生,接下來為您介紹解決方法,感興趣的朋友可以了解下哦2013-01-01
MVC項目結(jié)構(gòu)搭建及單個類的實現(xiàn)學(xué)習(xí)筆記1
這篇文章主要介紹了MVC項目結(jié)構(gòu)搭建及單個類在各個層次中的實現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-09
System.Data.SqlClient.SqlException: 無法打開登錄所請求的數(shù)據(jù)庫 登錄失敗。
今天幫客戶配置服務(wù)器的時間,安全設(shè)置后,將sqlserver以普通用戶權(quán)限運行的時候提示這個錯誤。2011-08-08
.Net?Core3.0?WebApi?項目框架搭建之使用Serilog替換掉Log4j
Serilog 是一個用于.NET應(yīng)用程序的日志記錄開源庫,配置簡單,接口干凈,并可運行在最新的.NET平臺上,這篇文章主要介紹了.Net?Core3.0?WebApi?項目框架搭建之使用Serilog替換掉Log4j,需要的朋友可以參考下2022-02-02
ASP.NET MVC從控制器傳遞數(shù)據(jù)到視圖的四種方式詳解
本篇文章主要介紹了ASP.NET MVC從控制器傳遞數(shù)據(jù)到視圖的四種方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01
使用Visual Studio創(chuàng)建ASP.NET Web API項目
這篇文章介紹了使用Visual Studio創(chuàng)建ASP.NET Web API項目的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03

