(十一)Asp.NET使用DataList進行數據顯示


使用DataList進行數據的展示時,一般用於多行多列數據的展示

如:

 

 

DataList擁有強大的模版特性:

 ItemTemplate:一般項模版,該模版會應用多次

 AlternatingItemTemplate:交替項模版,該模版會應用多次

 FooterTemplate:尾模版,在項模版之后,只應用一次,不能使用Eval綁定

 HeaderTemplate:頭模版,在項模版之前,只應用一次,不能使用Eval綁定

 SeparatorTemplate:分離模版

 SelectedItemTemplate:被選定模版

 EditItemTemplate:被編輯模版

操作

事件名稱

說明

編輯

EditCommand

由於DataList不支持雙向綁定,其更新與刪除必須在對應事件中顯式調用數據源控件的DeleteUpdate方法,並且所有的DeleteParametersUpdateParameters參數必須指定,同時編輯、取消和更新按鈕都需要在事件編程中設置屬性並調用DataBind方法重新綁定。

取消

CancelCommand

更新

UpdateCommand

刪除

DeleteCommand

選擇

SelectedIndexChanged

用於實現就地顯示功能

項命令

ItemCommand

自定義操作的按鈕事件

項綁定

ItemDataBound

數據項綁定

DataList控件與Repeater控件使用起來非常類似,DataList能夠更加靈活的控制顯示的列與行。

接下來我們通過具體的示例來演示如何通過DataList控件進行列表展示的。

示例一:使用DataList進行數據展示

一、先准備一張照片信息表:

 

二、 新建Web頁面,起名DataListDemo.aspx,然后拖拽上來一個DataList控件:

 

 

 三、 創建頭模板

 

 

四、 創建項模板(自定義的模板,展示數據用,定義成什么樣子,就展現為什么樣子,不會生成額外多余的標簽):

 

 五、 可以在屬性中套用DataList自帶的一些主題:

 

 

六、 寫后台綁定代碼,實現數據的綁定,在頁面第一次加載時候開始綁定數據:

 

展示效果如下:

 

示例二、 使用DataList進行數據刪除

一、 在頁面刪除按鈕上添加CommandName=”delete”CommandArgument綁定的參數,為OnClientClick事件添加一個js代碼,用來實現彈出確認框:

 

 

二、 由於CommandNamedelete,所以會觸發DataList的OnDeleteCommand事件,選擇DataList的事件,新建一個DeleteCommand事件:

 

三、 DeleteCommand事件中加入刪除的代碼:

 

 

 點擊按鈕實現刪除

 

 

DataList控件中點擊服務器控件,如果把控件的CommandName設置為delete,會觸發DeleteCommand事件,我們可以根據需要設置不同的CommandName,從而實現不同的事件處理。

 

問:DataList控件與Repeater控件的區別是什么? 

DataList控件:一行可以有多條記錄,就像圖片列表一樣;分頁功能需要手寫。

Repeater 控件使用數據源返回的一組記錄呈現只讀列表。Repeater 控件不指定內置布局。可以使用模板創建 Repeater 控件的布局。

補充:

DataList 控件是從 WebControl 類中派生的,而 Repeater 控件是從 Control 類中派生的。 WebControl 類包含許多美學方面的zhuan屬性,例如 BackColor、shuForeColor、CssClass、BorderStyle 等。 這意味着如果使用 DataGrid 和 DataList,就可以通過它們從 WebControl 類中繼承的屬性指定樣式設置。 而 Repeater 沒有任何這樣的樣式屬性。 對 Repeater 輸出的任何可視設置都必須在 Repeater 的模板中指定。
DataList自身會被解析為table,其中的每一行會被解析為tr-td
Repeater則只是重復模板中的內容,這也是為什么repeater沒有提供ItemStyle,SelectItemTemplate這些模板和樣式控制的原因

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM