ListView 控制項是用於顯示資料來源中的值。這個控制項類似 GridView 控制項,不過是以使用者定義的樣板顯示資料,而不是使用資料列欄位。您可以建立自己的樣板,更靈活地控制資料的顯示方式。
ListView 控制項支援下列功能:
若要了解 ASP.NET 可用的其他資料繫結控制項,請參閱 ASP.NET 資料繫結 Web 伺服器控制項概觀。
樣板
繫結至資料來源
資料作業
當 ListView 控制項繫結至資料來源控制項時,ListView 控制項可利用資料來源控制項的功能,提供自動排序、插入、更新和刪除功能。
注意事項: |
|---|
對於其他類型的資料來源,ListView 控制項可以提供排序、插入、更新和刪除的支援。不過,為了實作這些作業,您必須在適當的事件處理常式中建立程式碼。 |
因為 ListView 控制項使用樣板,所以無法自動產生用來執行更新、刪除、插入、排序或選取作業的按鈕。您必須手動將這些按鈕加入適當的樣板中。ListView 控制項可辨認 CommandName 屬性設定為特定值的某些按鈕。下表列出 ListView 控制項可辨認的按鈕及其功能。
與 [刪除] 按鈕 (立即刪除目前資料項目) 不同,按一下 [編輯] 按鈕時,ListView 控制項會以編輯模式顯示目前項目。在編輯模式中,目前資料項目會顯示 EditItemTemplate 屬性包含的內容。一般來說,在編輯項目樣板中,[編輯] 按鈕會取代為 [更新] 和 [取消] 按鈕。適用於欄位資料型別的輸入控制項 (例如 TextBox 或 CheckBox 控制項),通常也會顯示欄位的值讓使用者修改。按一下 [更新] 按鈕可更新資料來源中的資料錄,而按一下 [取消] 按鈕則會取消編輯作業。
當 InsertItemPosition 屬性設定為 FirstItem 或 LastItem 時會啟用插入功能。這個屬性定義插入項目的 InsertItemTemplate 樣板會在何處呈現。插入項目樣板通常包含 [插入] 和 [取消] 按鈕,且會顯示空白輸入控制項,供使用者輸入新資料錄的值。按一下 [插入] 按鈕可在資料來源中插入資料錄,而按一下 [取消] 按鈕則會清除所有欄位。
排序
ListView 控制項可讓使用者按一下 [排序] 按鈕來排序項目。排序功能是在按鈕的 CommandArgument 屬性中定義,這個屬性包含要排序的資料行。
分頁
事件
下表列出 ListView 控制項支援的事件。
事件
|
說明
|
|---|
ItemCanceling |
當按一下 [取消] 按鈕 (CommandName 屬性設定為 "Cancel" 的按鈕) 時,但是在 ListView 控制項取消插入或編輯作業之前發生。這個事件通常用於停止取消作業。
|
ItemCommand |
按一下 ListView 控制項中的按鈕時會發生這個事件。在控制項中按一下按鈕時,這個事件通常用於執行自訂工作。
|
ItemCreated |
當 ListView 控制項中建立新的項目時發生。當建立項目時,這個事件通常用於修改項目的內容。
|
ItemDataBound |
當 ListView 控制項中的資料項目繫結至資料時發生。當項目繫結至資料時,這個事件通常用於修改項目的內容。
|
ItemDeleted |
當按一下 [刪除] 按鈕 (CommandName 屬性設定為 "Delete" 的按鈕) 或呼叫 DeleteItem 方法時,在 ListView 控制項從資料來源中刪除資料錄之後發生。這個事件通常用於檢查刪除作業的結果。
|
ItemDeleting |
當按一下 [刪除] 按鈕 (CommandName 屬性設定為 "Delete" 的按鈕) 或呼叫 DeleteItem 方法時,但是在 ListView 控制項從資料來源中刪除資料錄之前發生。這個事件通常用於確認或取消刪除作業。
|
ItemEditing |
當按一下 [編輯] 按鈕 (CommandName 屬性設定為 "Edit" 的按鈕) 時,但是在 ListView 控制項進入編輯模式之前發生。這個事件通常用於取消編輯作業。
|
ItemInserted |
當按一下 [插入] 按鈕 (CommandName 屬性設定為 "Insert" 的按鈕) 或呼叫 InsertNewItem 方法時,在 ListView 控制項從資料來源插入新的資料錄之後發生。通常使用這個事件,檢查更新作業的結果。
|
ItemInserting |
當按一下 [插入] 按鈕 (CommandName 屬性設定為 "Insert" 的按鈕) 或呼叫 InsertNewItem 方法時,在 ListView 控制項插入資料錄之前發生。這個事件通常用於取消插入作業,或用於變更或驗證新項目的值。
|
ItemUpdated |
當按一下 [更新] 按鈕 (CommandName 屬性設定為 "Update" 的按鈕) 或呼叫 UpdateItem 方法時,在 ListView 控制項更新資料錄之後發生。這個事件通常用於檢查更新作業的結果。
|
ItemUpdating |
當按一下 [更新] 按鈕 (CommandName 屬性設定為 "Update" 的按鈕) 或呼叫 UpdateItem 方法時,但是在 ListView 控制項更新資料錄之前發生。這個事件通常用於取消更新作業,或用於變更或驗證所編輯項目的值。
|
LayoutCreated |
在 ListView 控制項中建立 LayoutTemplate 樣板時發生。這個事件通常用於在建立樣板之後執行工作。
|
PagePropertiesChanged |
當頁面屬性變更時,在 ListView 控制項設定新的值之後發生。
|
PagePropertiesChanging |
當資料頁屬性變更時,但是在 ListView 控制項設定新的值之前發生。
|
SelectedIndexChanged |
當按一下 [選取] 按鈕 (CommandName 屬性設定為 "Select" 的按鈕) 時,在 ListView 控制項處理選取作業之後發生。在控制項中選取項目之後,這個事件通常用於執行自訂作業。
|
SelectedIndexChanging |
當按一下 [選取] 按鈕 (CommandName 屬性設定為 "Select" 的按鈕) 時,但是在 ListView 控制項處理選取作業之前發生。這個事件通常用於取消選取作業。
|
Sorted |
當按一下 [排序] 按鈕 (CommandName 屬性設定為 "Sort" 的按鈕) 或呼叫 Sort 方法時,在 ListView 控制項處理排序作業之後發生。在使用者按一下 [排序] 按鈕且排序資料之後,這個事件通常用於執行自訂工作。
|
Sorting |
當按一下 [排序] 按鈕 (CommandName 屬性設定為 "Sort" 的按鈕) 或呼叫 Sort 方法時,但是在 ListView 控制項處理排序作業之前發生。這個事件通常用於取消排序作業或執行自訂排序常式。
|