DataList Web 伺服器控制項概觀
更新:2007 年 11 月
DataList Web 伺服器控制項會以可自訂的格式顯示資料庫資訊的資料列。顯示資料的格式是在您建立的樣板中所定義。您可以建立項目、替代項目、選取項目和編輯項目的樣板,也可以使用頁首、頁尾和分隔符號樣板來自訂 DataList 的整體外觀。藉由將 Button Web 伺服器控制項包含在樣板中,可以將清單項目連接到允許使用者在顯示、選取和編輯模式之間切換的程式碼。
這個主題包含:
背景
程式碼範例
類別參考
背景
DataList Web 伺服器控制項會以您可使用樣板和樣式定義的格式來顯示資料。DataList 控制項對任何重複結構 (例如表格) 中的資料都相當有用。DataList 控制項能夠以不同的配置方式顯示資料列,例如以資料行或資料列排序。
注意事項: |
---|
DataList 控制項會使用 HTML 表格項目的方式在清單中呈現項目。若要精確控制用於呈現清單的 HTML,請使用 Repeater Web 伺服器控制項來取代 DataList 控制項。 |
您可以選擇性地設定 DataList 控制項來允許使用者編輯或刪除資訊。也可以自訂控制項來支援其他功能,例如選取資料列。
您可以透過包含 HTML 文字和控制項的方式來使用樣板定義資料項目的配置。例如,您可以使用項目中的 Label Web 伺服器控制項來顯示資料來源的欄位。
以下章節將介紹 DataList 控制項的功能。
將資料繫結至控制項
The DataList Web 伺服器控制項必須繫結至資料來源。最常見的資料來源是資料來源控制項,例如 SqlDataSource 或 ObjectDataSource 控制項。此外,您可以將 DataList 控制項繫結至任何實作 IEnumerable 介面的類別,其中包含 ADO.NET 資料集 (DataSet 類別)、資料讀取器 (SqlDataReader 或 OleDbDataReader 類別),或是大部分集合。當繫結資料時,您就指定了整個 DataList 控制項的資料來源。當您將其他控制項加入至這個控制項時 (例如清單項目中的標籤或文字方塊),可以將子控制項的屬性繫結至目前資料項目中的欄位。
定義 DataList 項目的樣板
在 DataList 控制項中,您可以使用樣板來定義資訊的配置。
注意事項: |
---|
如需使用樣板的概觀,請參閱 ASP.NET Web 伺服器控制項樣板。 |
下表會說明 DataList 控制項支援的樣板。
樣板屬性 |
描述 |
---|---|
包含要為資料來源中的每個資料列,呈現一次的 HTML 項目和控制項。 |
|
包含要為資料來源中的每個其他的資料列,呈現一次的 HTML 項目和控制項。通常,您會使用這個樣板為替代資料列建立不同的外觀,例如與 ItemTemplate 屬性中指定顏色不同的背景顏色。 |
|
包含當使用者在 DataList 控制項中選取某一項目時所要呈現的項目。通常,您會使用這個樣板搭配不同的背景或字型顏色,在視覺上區別已選取的資料列。您也可以顯示來自資料來源的其他欄位以展開項目。 |
|
指定當項目在編輯模式時的配置。這個樣板通常會包含編輯控制項,例如 TextBox 控制項。 |
|
包含要在清單開頭和結尾呈現的文字和控制項。 |
|
包含要呈現在每一項目間的項目。常見的範例是一空白行 (使用 HR 項目)。 |
樣式
若要指定樣板項目的外觀,您可以設定樣板的樣式。例如,您可能會指定如下:
在白色背景上,以黑色文字呈現項目
在淺灰色背景上,以黑色文字呈現替代項目
在黃色背景上,以粗體黑色文字呈現選取項目
在淺藍色背景上,以黑色文字呈現要編輯的項目
每個樣板都支援本身的樣式物件,而您可在設計階段和執行階段設定其屬性。您可以使用的樣式如下:
如需詳細資訊,請參閱ASP.NET Web 伺服器控制項和 CSS 樣式。
項目配置
DataList 控制項會使用 HTML 表格配置套用樣板的項目呈現方式。您可以控制用來呈現 DataList 項目的個別表格儲存格之順序、方向和資料行數。下列表格描述 DataList 控制項支援的配置選項。
配置選項 |
描述 |
---|---|
流程配置 |
在流程配置中,清單項目是以內嵌 (Inline) 方式來呈現,和文書處理文件的方式一樣。 |
表格配置 |
在表格配置中,項目會呈現在 HTML 表格中。這會提供更多指定項目外觀的選項,因為它允許您設定表格儲存格的屬性,例如格線。如需詳細資訊,請參閱 HOW TO:指定 DataList Web 伺服器控制項中的流程或表格格式。 |
垂直和水平配置 |
根據預設,DataList 控制項中的項目是以單一垂直資料行來顯示的。不過,您可以指定控制項包含一個以上的資料行。如果是這樣的話,您可以進一步指定項目是要垂直 (像報紙專欄一樣) 或水平 (像月曆的日期) 來排列。如需詳細資訊,請參閱 HOW TO:指定 DataList Web 伺服器控制項中的水平或垂直配置。 |
資料行數目 |
無論 DataList 控制項中的項目是垂直或水平排列,您都可指定清單可有多少資料行。如此可以讓您控制 Web 網頁的呈現寬度,這麼做通常是為了減少使用者水平捲動的需要。 |
事件
DataList 控制項支援幾個事件。其中 ItemCreated 事件讓您能夠在執行階段自訂項目建立處理序。ItemDataBound 事件也能夠讓您自訂 DataList 控制項,但是要在資料可供檢視後才能進行。例如,如果您使用 DataList 控制項來顯示待辦清單,便可利用紅色文字來顯示過期項目、黑色文字來顯示完成項目、綠色文字則顯示其他工作。任一事件都可用來覆寫樣板定義的格式。
其餘事件的引發則是用來回應清單項目中的按鈕按選動作。它們是設計用來協助您回應 DataList 控制項的最常用的功能。受支援的這種類型事件有四種:
若要引發這些事件,請將 Button、LinkButton 或 ImageButton 控制項加入至 DataList 控制項的樣板中,然後將按鈕的 CommandName 屬性設定一個關鍵字,例如 edit、delete、update 或 cancel。當使用者按一下項目中的按鈕,事件會傳送到按鈕的容器,也就是 DataList 控制項。按鈕引發的實際事件是要視當時所按按鈕的 CommandName 屬性值而定。例如,如果按鈕的 CommandName 屬性設定為 edit,當按下按鈕時會引發 EditCommand 事件。如果 CommandName 屬性設定為 delete,按鈕會引發 DeleteCommand 事件等等。
DataList 控制項也支援當使用者按一下沒有預先定義命令的按鈕 (例如 edit 或 delete) 時,所引發的 ItemCommand 事件。您可使用這個事件來自訂功能,方式是將按鈕的 CommandName 屬性設定為您需要的值,接著在 ItemCommand 事件處理常式中測試它。例如,您可以在選取項目時使用如 HOW TO:允許使用者選取 DataList Web 伺服器控制項中的項目所述的方法。
如需 Web Form 事件的詳細資訊,請參閱 ASP.NET Web 伺服器控制項事件模型。
編輯和選取項目
您可以讓使用者編輯控制項中的個別項目。其他資料控制項,例如 GridView、DetailsView 和 FormView 控制項,能夠與資料來源控制項互動以支援自動更新和分頁。相對地,DataList 控制項無法自動利用資料來源控制項的更新功能,或是自動分頁或排序。若要使用 DataList 控制項執行更新、分頁和排序,您必須在撰寫的程式碼中執行更新工作。
一般策略是建立提供適當配置和控制項的 EditItemTemplate 以進行編輯。您也可以為使用者提供方法來指示他們要如何編輯項目,執行這個動作最常用的方法是,包含項目樣板中的一個按鈕 (如果您正在使用,則是在 AlternatingItemTemplate 屬性中),然後將按鈕的 CommandName 屬性設定為 edit。接著,當按一下按鈕時,DataList 控制項會自動引發 EditCommand 事件。在您撰寫的事件處理常式程式碼中,將項目設定為顯示 EditItemTemplate 的編輯模式。
EditItemTemplate 通常包含允許使用者儲存或捨棄變更的按鈕 (例如,[更新] 和 [取消] 按鈕)。這些按鈕的功能與 [編輯] 按鈕類似,會將預先定義的命令訊息 (update 或 cancel) 傳送給 DataList 控制項,以便引發能夠讓您正確回應的 UpdateCommand 或 CancelCommand 事件。如需詳細資訊,請參閱 HOW TO:允許使用者編輯 DataList Web 伺服器控制項中的項目。
選取項目的處理序和前面的類似,是使用 SelectedIndexChanged 事件。將按鈕加入至 ItemTemplate,然後將 CommandName 屬性設定為 select。接著為 SelectedIndexChanged 事件撰寫事件處理常式。當使用者按一下 [選取] 按鈕時就會引發 SelectedIndexChanged 事件。如需詳細資訊,請參閱 HOW TO:允許使用者選取 DataList Web 伺服器控制項中的項目。如需詳細資訊,請參閱 HOW TO:允許使用者選取 DataList Web 伺服器控制項中的項目。
回到頁首
程式碼範例
HOW TO:指定 DataList Web 伺服器控制項中的流程或表格格式
HOW TO:指定 DataList Web 伺服器控制項中的水平或垂直配置
HOW TO:允許使用者選取 DataList Web 伺服器控制項中的項目
HOW TO:允許使用者編輯 DataList Web 伺服器控制項中的項目
HOW TO:允許使用者刪除 DataList Web 伺服器控制項中的項目
HOW TO:回應 DataList 或 Repeater 項目中的按鈕事件
HOW TO:在 DataList Web 伺服器控制項中動態自訂項目
HOW TO:在 DataList Web 伺服器控制項中動態建立樣板本
HOW TO:將 DataList Web 伺服器控制項加入至 ASP.NET 網頁
逐步解說:使用 DataList Web 伺服器控制項顯示並格式化資料
回到頁首
類別參考
下表列出與DataList 控制項相關的主要類別。
成員 |
描述 |
---|---|
控制項的主要類別。 |
回到頁首