天天看點

ListView控件學習系列1-了解ListView控件

目錄: 

<a href="http://www.cnblogs.com/nuaalfm/archive/2008/09/02/1281885.html">ListView控件學習系列2-編輯ListView</a>

<a href="http://www.cnblogs.com/nuaalfm/archive/2008/09/02/1282437.html">ListView控件學習系列3-ListView選擇,排序,分頁</a>

<a href="http://www.cnblogs.com/nuaalfm/archive/2008/09/03/1282468.html">ListView使用技巧</a>

<a href="http://files.cnblogs.com/nuaalfm/ListView%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97%E6%BA%90%E7%A0%81.rar">源碼下載下傳</a>

當你編寫以使用者為中心的應用程式時,總需要某種形式的資料集,起碼來說,你需要從一個資料源如關系資料庫或XML檔案檢索資料,在顯示給使用者之前先要進行格式化,盡管ASP.NET之前的版本就提供了以資料為中心的顯示控件如GridView,但GridView的輸出仍然是限制在一個table元件中的,而且這些控件缺乏專業Web開發人員需要的可自定義和可擴充特性,有時候你想要完全控制由資料綁定控件産生的HTML标記的外觀,這正是ListView控件的優勢,ListView控件不是使用額外的标記來封裝它的輸出内容,而是靠你指定的精确的HTML描述,使用ListView控件内置的模闆就可以指定精确的标記,它提供了非常優秀的自定義和擴充特性,使用這些特性,你可以以任何格式顯示資料,使用模闆和樣式,同時用最少的代碼執行CURD(建立、讀取、更新、删除)操作。

我們先看一下ListView支援的模闆

模闆

用途

AlternatingItemTemplate

交替項目模闆

用不同的标記顯示交替的項目,便于檢視者差別連續不斷的項目

EditItemTemplate

編輯項目模闆

控制編輯時的項目顯示

EmptyDataTemplate

空資料模闆

控制ListView資料源傳回空資料時的顯示

EmptyItemTemplate

空項目模闆

控制空項目的顯示

GroupSeparatorTemplate

組分隔模闆

控制項目組内容的顯示

GroupTemplate

組模闆

為内容指定一個容器對象,如一個表行、div或span元件

InsertItemTemplate

插入項目模闆

使用者插入項目時為其指定内容

ItemSeparatorTemplate

項目分隔模闆

控制項目之間内容的顯示

ItemTemplate

項目模闆

控制項目内容的顯示

LayoutTemplate

布局模闆

指定定義容器對象的根元件,如一個table、div或span元件,它們包裝ItemTemplate或GroupTemplate定義的内容。

SelectedItemTemplate

已選擇項目模闆

指定目前選中的項目内容的顯示

最關鍵的兩個模闆是LayoutTemplate和ItemTemplate,正如名字暗示的那樣,LayoutTemplate為ListView控件指定了總的标記,而ItemTemplate指定的标記用于顯示每個綁定的記錄

一、LayoutTemplate和ItemTemplate模闆

辨別定義控件的主要布局的根模闆。它包含一個占位符對象,例如表行 (tr)、div 或 span 元素。此元素将由 ItemTemplate 模闆或 GroupTemplate 模闆中定義的内容替換。使用 LayoutTemplate 屬性可以為 ListView 控件的根容器定義自定義使用者界面 (UI)。LayoutTemplate 模闆是 ListView 控件所必需的。LayoutTemplate 内容必須包含一個占位符控件,例如由 ItemTemplate 模闆定義的項表行 (tr) 元素。占位符控件必須将 runat 屬性 (Attribute) 設定為“server”,将 ID 屬性 (Attribute) 設定為 ItemPlaceholderID 或 GroupPlaceholderID 屬性 (Property) 的值(具體取決于 ListView 控件是否使用組)。

例如:

前端代碼:

ListView控件學習系列1-了解ListView控件

ListView示範前端代碼

背景代碼:

ListView控件學習系列1-了解ListView控件

ListView示範背景代碼

浏覽器中得到的代碼為:

ListView控件學習系列1-了解ListView控件

浏覽器中顯示的代碼

這裡要注意LayoutTemplate中的&lt;tr runat="server" id="itemPlaceholder" /&gt;即為占位符,它将在綁定時被ItemTemplate中的内容替換掉

二、分組的應用

前端代碼:

ListView控件學習系列1-了解ListView控件

前端代碼

通過itemPlaceholderContainer知道這是一段要被替換的元素,而且是根據tr進行行替換。然後再配合LayoutTemplate形成分組。我們是如何來定義每行的列數的呢?隻需要在ListView裡添加一個屬性定義&lt;asp:ListView ID="ListView1" runat="server" GroupItemCount="4"&gt;我們這裡設定GroupItemCount屬性的值為4,也就代表我們的每個Group裡面包含的4項。

本文轉自 你聽海是不是在笑 部落格園部落格,原文連結: http://www.cnblogs.com/nuaalfm/archive/2008/09/01/1281646.html  ,如需轉載請自行聯系原作者