• ListView控件学习系列1了解ListView控件


     

    目录: 

    ListView控件学习系列1-了解ListView控件

    ListView控件学习系列2-编辑ListView

    ListView控件学习系列3-ListView选择,排序,分页

    ListView使用技巧

     

    源码下载

    作者:方明

    当你编写以用户为中心的应用程序时,总需要某种形式的数据集,起码来说,你需要从一个数据源如关系数据库或XML文件检索数据,在显示给用户之前先要进行格式化,尽管ASP.NET之前的版本就提供了以数据为中心的显示控件如GridView,但GridView的输出仍然是限制在一个table组件中的,而且这些控件缺乏专业Web开发人员需要的可自定义和可扩展特性,有时候你想要完全控制由数据绑定控件产生的HTML标记的外观,这正是ListView控件的优势,ListView控件不是使用额外的标记来封装它的输出内容,而是靠你指定的精确的HTML描述,使用ListView控件内置的模板就可以指定精确的标记,它提供了非常优秀的自定义和扩展特性,使用这些特性,你可以以任何格式显示数据,使用模板和样式,同时用最少的代码执行CURD(创建、读取、更新、删除)操作。

    我们先看一下ListView支持的模板

    模板

    用途

    AlternatingItemTemplate

    交替项目模板

    用不同的标记显示交替的项目,便于查看者区别连续不断的项目

    EditItemTemplate

    编辑项目模板

    控制编辑时的项目显示

    EmptyDataTemplate

    空数据模板

    控制ListView数据源返回空数据时的显示

    EmptyItemTemplate

    空项目模板

    控制空项目的显示

    GroupSeparatorTemplate

    组分隔模板

    控制项目组内容的显示

    GroupTemplate

    组模板

    为内容指定一个容器对象,如一个表行、divspan组件

    InsertItemTemplate

    插入项目模板

    用户插入项目时为其指定内容

    ItemSeparatorTemplate

    项目分隔模板

    控制项目之间内容的显示

    ItemTemplate

    项目模板

    控制项目内容的显示

    LayoutTemplate

    布局模板

    指定定义容器对象的根组件,如一个tabledivspan组件,它们包装ItemTemplateGroupTemplate定义的内容。

    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演示前端代码

    后台代码:

    ListView演示后台代码

    浏览器中得到的代码为:

    浏览器中显示的代码

    这里要注意LayoutTemplate中的<tr runat="server" id="itemPlaceholder" />即为占位符,它将在绑定时被ItemTemplate中的内容替换掉

    二、分组的应用

    前端代码:

    前端代码

    通过itemPlaceholderContainer知道这是一段要被替换的元素,而且是根据tr进行行替换。然后再配合LayoutTemplate形成分组。我们是如何来定义每行的列数的呢?只需要在ListView里添加一个属性定义<asp:ListView ID="ListView1" runat="server" GroupItemCount="4">我们这里设置GroupItemCount属性的值为4,也就代表我们的每个Group里面包含的4项。

  • 相关阅读:
    增强型window.showModalDialog弹出模态窗口数据传递高度封装实验 西安
    谈谈Asp.net网站优化二:关于 服务器控件 和 客户端控件(html标签)的选择 西安
    谈谈Asp.net网站优化一:SqlDataReader和DataSet的选择 西安
    我2年来整理的.NET开发类库源代码共享 西安
    类似baidu google分页器效果的代码(修改于 kwklover 同学基础上) 西安
    C#.NET动手开发域名抢注前检测工具。 西安
    解决vs2008 项目文件(b/s)右键“在浏览器中打开”出现两个浏览器 西安
    基于Json的Ajax无刷新分页效果实现(一) 西安
    基于Json的Ajax无刷新分页效果实现(二) 西安
    循环冗余检验 (CRC) 算法原理
  • 原文地址:https://www.cnblogs.com/nuaalfm/p/1281646.html
Copyright © 2020-2023  润新知