成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何擴展ASP.NET GridView控件

開發 后端
本文將聚焦對ASP.NET2.0內置的GridView進行擴展的一系列新功能。通過七個特征讓您更輕松掌握GridView控件。

本文詳細解釋如何擴展ASP.NET GridView控件,同樣還將解釋了擴展后的GridView控件所具有的新的重要特征:基于行的上下文菜單和GridViews行的過濾功能。

引言

本文將聚焦對擴展ASP.NET GridView控件后的一系列新功能。其中本文介紹兩個主要特征:基于行的上下文菜單(Row_base ContextMenu)和基于過濾功能的GridView的行,在上周我曾經介紹了GridView控件。

在我們自定義的GridView控件里,提供了幾個具有“高效率”功能的擴展,不過,這些功能都不是GridView控件自帶的基本功能,正如您即將看到的,我們需要要重構這些功能。 擴展現在的GridView控件可以讓您更能夠控件常規GridView所沒有的功能,另外,擴展該功能后,您以后就可以不斷重復的使用這些新特性。

我們準備增加如下幾個特征:

1、行的單擊

2、行的雙擊

3、基于行的上下文菜單

4、頭元素的升序降序排列

5、當頁面記錄樹木小于PageSize時,修正GridView的高度

6、內置的過濾文本框

7、內置的復選框

除此以外,我們還將添加三個簡單按鈕,可以利用他們在客戶端添加一些簡單的確認函數

·確認按鈕(Confirm Button)

·圖片按鈕(Confirm Image Button)

·鏈接按鈕(Confirm Link Button)

擴展的XGrid控件需要從GridView控件派生,這也就說這個新的控件可以在ASP.NET2.0上運行。

下面代碼顯示了擴展后的的開始部分:

  1. namespace CustomControls  
  2. {  
  3. namespace Grid  
  4. {  
  5. [ToolboxData("〈 {0}:xGrid runat=server〉  
  6. 〈 /{0}:xGrid〉")]  
  7. public partial class xGrid : GridView  

要使用這個控件,只要簡單的把它通過VS.NET2005的工具欄直接拖放到Web窗體上即可。具體怎把該控件添加VS.NET2005工具欄上則不是本文討論的范圍。

下面的代碼片斷顯示了它的基本使用

  1. 〈xGrid:xGrid ID="XGrid1" runat="server" 
  2.  AutoGenerateColumns="False" /〉 

單擊(Single Row Click)

這是該自定義控件添加的第一個新特性,您現在把鼠標放置到一行數據上然后單擊就會引起頁面數據的回發,你可能認為使用這個功能實現主/從頁面,是的,使用RowClick可以實現這個功能。

相關的屬性是:

·EnableRowClick:這個屬性可以取值為true/false,默認為false

·MouseOverColor:當EnableRowClick設置為true時,利用該屬性設置鼠標移過一行數據顯示的結果。單擊和雙擊都使用這個功能。

下圖顯示了運行結果,在這個運行結果里,顯示了單擊一行時的效果。

GridView控件

您可以在RowClick事件里處理單擊的結果,示意代碼如下:

  1. protected void XGrid1_RowClick(object sender,   
  2. RowClickEventArgs e)  
  3. {  
  4. Response.Write("You clicked row: " + e.  
  5. GridViewRow.RowIndex);  

RowClickEventArgs參數默認是從EventArgs 類派生,并增加了一個名稱為GridViewRow 的屬性,這樣您就可以使用該屬性獲取當前行的索引。

 #p#

行的雙擊(Double Row Click)

這是擴展ASP.NET GridView控件后添加的第二個功能。您現在只需要在一行上雙擊就會向服務器產生數據回發來處理請求。您可以通過雙擊讓當前行處于編輯默認。 在行的雙擊里已經添加了RowDoubleClick事件,您可以使用該事件處理特定的業務邏輯

相關的屬性

EnableRowDoubleClick:取值為true或者false,默認值為false

MouseOverColor:當EnableRowDoubleClick設置為true時,可以利用該屬性設置鼠標移過行的效果,這個和單擊行的效果一樣。

下圖顯示了運行結果

設置鼠標移過行的效果

您可以處理RowDoubleClick 事件,示意代碼如下:

  1. protected void XGrid1_RowDoubleClick(object sender,   
  2. RowDoubleClickEventArgs e)  
  3. {  
  4. Response.Write("You double clicked row: " + e.  
  5. GridViewRow.RowIndex);  

RowDoubleClickEventArgs 類時從EventArgs 類派生并添加了GridViewRow 屬性,使用該屬性可以給你更全的控件

基于行的上下文菜單

我們花費了一個半月左右的事件來研究GridView控件,但是我們發現沒有一個GridView控件可以使用ContextMenu,也就是說內置的GridView上下文菜單控件無法使用。

我們不得不使用Dino Esposito開發的context meun,該菜單的開發文檔發布在MSDN雜志上,本文后面會在資料文件里列出對該文件的鏈接。 Dino Esposito開發的Context Menu主要使用ASP.NET1.1技術進行開發,我們已經建立了基于ASP.NET2.0 Context Menu項目,該項目拷貝了他的代碼,并進行了簡單的更改。其中,一個改變是在Context Menu項目里添加了OnClientClick屬性,這樣在處理客戶端向服務器請求的回發前,開發人員可以將客戶端處理事件掛接到上下文菜單里。

Context Menu使用的客戶端代碼主要是Javascript代碼,這里的代碼在ASP.NET2.0里已經作為資源(Resource)包括進去了。

Context Menu現在已經是基于ASP.NET2.0的項目了并且已經集成到擴展的GridView控件的每一行,現在當您右擊每一行時,您將可以訪問右擊事件。擴展的GridView控件還有一個新的屬性:RightClickRow,該屬性可以返回當前行上下文菜單

相關的屬性如下:

·GridView控件是具有上下文菜單的,這里的ID設置的就是在ASPX頁面上的GridView控件ID

·RightClickedRow:該屬性設置上下文菜單。

下圖顯示了運行結果。

設置上下文菜單

當您在行上單擊鼠標右鍵時彈出Context Menu菜單。這里顯示了三個選項:

·Add a new Row:當選擇該選項后,將會在記錄里出現新建行。

·Delete Row:允許你刪除當前右擊的行

·Edit Row:運行您設置當前行的模式 為編輯模式

編輯模式

【編輯推薦】

  1. ASP.NET 2.0中的URL映射
  2. ASP.NET 2.0教程 數據源控件解析
  3. ASP.NET頁面請求原理淺析
  4. ASP.NET頁面靜態化四步走
  5. 淺析ASP.NET授權模塊
責任編輯:冰荷 來源: 51CTO.com
相關推薦

2009-07-24 15:35:00

ASP.NET Gri

2009-07-20 18:02:48

GridView控件ASP.NET 2.0

2009-08-03 18:29:31

GridView與Da

2009-08-04 13:38:36

ASP.NET用戶控件

2012-09-26 09:46:29

ASP.NETWeb框架

2009-07-27 13:52:36

Panel控件ASP.NET

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-17 09:24:25

ASP.NET控件

2009-08-03 15:08:00

SqlDataSour

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-05 15:57:03

ASP.NET控件ID

2009-08-19 13:44:00

ASP.NET Lis

2009-08-04 10:43:59

ASP.NET控件開發

2009-08-14 13:20:29

ASP.NET Gri

2009-07-27 16:22:54

GridView選擇行

2009-07-27 15:58:25

添加GridView

2009-08-03 18:15:05

ASP.NET數據綁定

2009-07-27 10:12:37

GridView和Ob

2009-07-27 16:09:05

GridView顯示數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久亚洲精品 | 国产成在线观看免费视频 | 欧美片网站免费 | 蜜桃视频麻豆 | 午夜丰满寂寞少妇精品 | 在线观看黄免费 | 别c我啊嗯国产av一毛片 | 日日夜夜草 | 在线观看成人小视频 | 欧美综合在线视频 | 看毛片网站| 黄色免费看| 国产午夜精品一区二区三区嫩草 | 中文区中文字幕免费看 | 欧美成人免费在线 | 青青久在线视频 | 欧美日韩在线一区二区三区 | 日韩在线日韩 | 亚洲人成人一区二区在线观看 | www久久国产 | 日本黄色一级视频 | 国产精品揄拍一区二区 | 国产在线精品一区二区三区 | 性国产xxxx乳高跟 | 黄色在线网站 | 国产一卡二卡三卡 | 99久久99 | 国产一区二区三区免费视频 | 欧美黄色免费网站 | 中文字幕第一页在线 | 亚洲精品久久久久久一区二区 | 久久国产欧美日韩精品 | 天天干天天玩天天操 | 91天堂| 在线观看中文字幕视频 | 久久久久久久久久久久久久久久久久久久 | 天啪 | 欧美日韩最新 | 全免费a级毛片免费看视频免 | 午夜精品福利视频 | 国产免费视频在线 |