1. GridView控件的屬性
表10.6 GridView控件的行為屬性
屬性 |
描述 |
AllowPaging |
指示該控件是否支持分頁。 |
AllowSorting |
指示該控件是否支持排序。 |
AutoGenerateColumns |
指示是否自動地為數據源中的每個字段創建列。默認為true。 |
AutoGenerateDeleteButton |
指示該控件是否包含一個按鈕列以允許用戶刪除映射到被單擊行的記錄。 |
AutoGenerateEditButton |
指示該控件是否包含一個按鈕列以允許用戶編輯映射到被單擊行的記錄。 |
AutoGenerateSelectButton |
指示該控件是否包含一個按鈕列以允許用戶選擇映射到被單擊行的記錄。 |
DataMember |
指示一個多成員數據源中的特定表綁定到該網格。該屬性與DataSource結合使用。如果DataSource是有一個DataSet對象,則該屬性包含要綁定的特定表的名稱。 |
DataSource |
獲得或設置包含用來填充該控件的值的數據源對象。 |
DataSourceID |
指示所綁定的數據源控件。 |
EnableSortingAndPagingCallbacks |
指示是否使用腳本回調函數完成排序和分頁。默認情況下禁用。 |
RowHeaderColumn |
用作列標題的列名。該屬性旨在改善可訪問性。 |
SortDirection |
獲得列的當前排序方向。 |
SortExpression |
獲得當前排序表達式。 |
UseAccessibleHeader |
規定是否為列標題生成<th>標簽(而不是<td>標簽)。 |
表
10.7 GridView控件的樣式屬性
描述 |
|
AlternatingRowStyle |
定義表中每隔一行的樣式屬性。 |
EditRowStyle |
定義正在編輯的行的樣式屬性。 |
FooterStyle |
定義網格的頁腳的樣式屬性。 |
HeaderStyle |
定義網格的標題的樣式屬性。 |
EmptyDataRowStyle |
定義空行的樣式屬性,這是在GridView綁定到空數據源時生成。 |
PagerStyle |
定義網格的分頁器的樣式屬性。 |
RowStyle |
定義表中的行的樣式屬性。 |
SelectedRowStyle |
定義當前所選行的樣式屬性。 |
表10.8 GridView控件的外觀屬性
屬性 |
描述 |
BackImageUrl |
指示要在控件背景中顯示的圖像的URL。 |
Caption |
在該控件的標題中顯示的文本。 |
CaptionAlign |
標題文本的對齊方式。 |
CellPadding |
指示一個單元的內容與邊界之間的間隔(以像素為單位)。 |
CellSpacing |
指示單元之間的間隔(以像素為單位)。 |
GridLines |
指示該控件的網格線樣式。 |
HorizontalAlign |
指示該頁面上的控件水平對齊。 |
EmptyDataText |
指示當該控件綁定到一個空的數據源時生成的文本。 |
PagerSettings |
引用一個允許我們設置分頁器按鈕的屬性的對象。 |
ShowFooter |
指示是否顯示頁腳行。 |
ShowHeader |
指示是否顯示標題行。 |
表10.10 狀態屬性
屬性 |
描述 |
BottomPagerRow |
返回表格該網格控件的底部分頁器的GridViewRow對象。 |
Columns |
獲得一個表示該網格中的列的對象的集合。如果這些列是自動生成的,則該集合總是空的。 |
DataKeyNames |
獲得一個包含當前顯示項的主鍵字段的名稱的數組。 |
DataKeys |
獲得一個表示在DataKeyNames中為當前顯示的記錄設置的主鍵字段的值。 |
EditIndex |
獲得和設置基於0的索引,標識當前以編輯模式生成的行。 |
FooterRow |
返回一個表示頁腳的GridViewRow對象。 |
HeaderRow |
返回一個表示標題的GridViewRow對象。 |
PageCount |
獲得顯示數據源的記錄所需的頁面數。 |
PageIndex |
獲得或設置基於0的索引,標識當前顯示的數據頁。 |
PageSize |
指示在一個頁面上要顯示的記錄數。 |
Rows |
獲得一個表示該控件中當前顯示的數據行的GridViewRow對象集合。 |
SelectedDataKey |
返回當前選中的記錄的DataKey對象。 |
SelectedIndex |
獲得和設置標識當前選中行的基於0的索引。 |
SelectedRow |
返回一個表示當前選中行的GridViewRow對象。 |
SelectedValue |
返回DataKey對象中存儲的鍵的顯式值。類似於SelectedDataKey。 |
TopPagerRow |
返回一個表示網格的頂部分頁器的GridViewRow對象。 |
2. GridView控件的事件
表10.11 GridView控件激發的事件
事件 |
描述 |
PageIndexChanging, PageIndexChanged |
這兩個事件都是在其中一個分頁器按鈕被單擊時發生。它們分別在網格控件處理分頁操作之前和之后激發。 |
RowCancelingEdit |
在一個處於編輯模式的行的Cancel按鈕被單擊,但是在該行退出編輯模式之前發生。 |
RowCommand |
單擊一個按鈕時發生。 |
RowCreated |
創建一行時發生。 |
RowDataBound |
一個數據行綁定到數據時發生。 |
RowDeleting, RowDeleted |
這兩個事件都是在一行的Delete按鈕被單擊時發生。它們分別在該網格控件刪除該行之前和之后激發。 |
RowEditing |
當一行的Edit按鈕被單擊時,但是在該控件進入編輯模式之前發生。 |
RowUpdating, RowUpdated |
這兩個事件都是在一行的Update按鈕被單擊時發生。它們分別在該網格控件更新該行之前和之后激發。 |
SelectedIndexChanging, SelectedIndexChanged |
這兩個事件都是在一行的Select按鈕被單擊時發生。它們分別在該網格控件處理選擇操作之前和之后激發。 |
Sorting, Sorted |
這兩個事件都是在對一個列進行排序的超鏈接被單擊時發生。它們分別在網格控件處理排序操作之前和之后激發。 |
RowCreated和RowDataBound事件與DataGrid的ItemCreated和ItemDataBound事件相同,只是換了個新名稱。它們的行為完全與它們在ASP.NET 1.x中的一樣。對於RowCommand事件也一樣,它與DataGrid的ItemCommand事件一樣。
可以使用宣布某種操作的事件,極大地增強了我們的編程能力。通過連接RowUpdating事件,可以交叉檢查正在更新什么並對新值進行驗證。同樣,我們可能需要處理RowUpdating事件,用HTML對客戶端提供的值進行編碼,然后把它們持久地保存在底層數據存儲中。這一簡單技巧有助於防御腳本侵入。