gridview
gridview
GridView 是 DataGrid的後繼控制項,在.net framework 2 中,雖然還存在DataGrid,但是GridView已經走上了歷史的前台,取代DataGrid的趨勢已是勢不可擋。GridView和DataGrid功能相似,都是在web頁面中顯示數據源中的數據,將數據源中的一行數據,也就是一條記錄,顯示為在web頁面上輸出表格中的一行。
GridView 網格視圖
GridView控制項的屬性
表10.6 GridView控制項的行為屬性
屬性 | 描述 | ||
AllowPaging | 指示該控制項是否支持分頁。 | ||
AllowSorting | 指示該控制項是否支持排序。 | ||
AutoGenerateColumns | 指示是否自動地為數據源中的每個欄位創建列。默認為true。 | ||
AutoGenerateDeleteButton | 指示該控制項是否包含一個按鈕列以允許用戶刪除映射到被單擊行的記錄。 | ||
AutoGenerateEditButton | 指示該控制項是否包含一個按鈕列以允許用戶編輯映射到被單擊行的記錄。 | ||
AutoGenerateSelectButton | 指示該控制項是否包含一個按鈕列以允許用戶選擇映射到被單擊行的記錄。 | ||
DataMember | 指示一個多成員數據源中的特定表綁定到該網格。該屬性與DataSource結合使用。如果DataSource是有一個DataSet對象,則該屬性包含要綁定的特定表的名稱。 | ||
DataSource | 獲得或設置包含用來填充該控制項的值的數據源對象。 | ||
DataSourceID | 指示所綁定的數據源控制項。 | ||
EnableSortingAndPagingCallbacks | 指示是否使用腳本回調函數完成排序和分頁。默認情況下禁用。 | ||
RowHeaderColumn | 用作列標題的列名。該屬性旨在改善可訪問性。 | ||
SortDirection | 獲得列的當前排序方向。 | ||
SortExpression | 獲得當前排序表達式。 | ||
UseAccessibleHeader | 規定是否為列標題生成 | 標籤(而不是 | 標籤)。 |
---|
表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對象。 |
GridView控制項的事件
PageIndexChanging,PageIndexChanged這兩GridView控制項的事件被單擊時發生。它們分別在網格控制項處理分頁操作之前和之後激發。RowCancelingEdit 在一個處於編輯模式的行的Cancel按鈕被單擊,但是在該行退出編輯模式之前發生。RowCommand單擊一個按鈕時發生。RowCreated創建一行時發生。 RowDataBound一個數據行綁定到數據時發生。RowDeleting, RowDeleted 這兩個事件都是在一行的Delete按鈕被單擊時發生。它們分別在該網格控制項刪除該行之前和之後激發。RowEditing 當一行的Edit按鈕被單擊時,但是在該控制項進入編輯模式之前發生。RowUpdating,RowUpdated 這兩個事件都是在一行的Update按鈕被單擊時發生。它們分別在該網格控制項更新該行之前和之後激發。SelectedIndexChanging, SelectedIndexChanged這兩個事件都是在一行的Select按鈕被單擊時發生。它們分別在該網格控制項處理選擇操作之前和之後激發。 Sorting, Sorted這兩個事件都是在對一個列進行排序的超鏈接被單擊時發生。它們分別在網格控制項處理排序操作之前和之後激發
GridView控制項的列欄位
GridView控制項中的每一列由一個 DataControlField對象表示。默認情況下,AutoGenerateColumns屬性被設置為 true,為數據源中的每一個欄位創建一個 AutoGeneratedField對象。每個欄位然後作為 GridView控制項中的列呈現,其順序同於每一欄位在數據源中出現的順序。
通過將 AutoGenerateColumns屬性設置為 false,然後定義您自己的列欄位集合,您也可以手動控制哪些列欄位將顯示在 GridView控制項中。不同的列欄位類型決定控制項中各列的行為。下表列出了可以使用的不同列欄位類型。
列欄位類型 | 說明 |
BoundField | 顯示數據源中某個欄位的值。這是 GridView控制項的默認列類型。 |
ButtonField | 為 GridView控制項中的每個項顯示一個命令按鈕。這使您可以創建一列自定義按鈕控制項,如“添加”按鈕或“移除”按鈕。 |
CheckBoxField | 為 GridView控制項中的每一項顯示一個複選框。此列欄位類型通常用於顯示具有布爾值的欄位。 |
CommandField | 顯示用來執行選擇、編輯或刪除操作的預定義命令按鈕。 |
HyperLinkField | 將數據源中某個欄位的值顯示為超鏈接。此列欄位類型允許您將另一個欄位綁定到超鏈接的 URL。 |
ImageField | 為 GridView控制項中的每一項顯示一個圖像。 |
TemplateField | 根據指定的模板為 GridView控制項中的每一項顯示用戶定義的內容。此列欄位類型允許您創建自定義的列欄位。 |