博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
富数据控件 LstView(模版、分组)
阅读量:7081 次
发布时间:2019-06-28

本文共 1818 字,大约阅读时间需要 6 分钟。

ListView

       ListView 是一个非常灵活的数据绑定控件,根据定义的模版呈现自己的内容。和 Repeater 控件不同,ListView 增加了高级特性(如选择和编辑),它们的工作方式和 GridView 相同。它以最少的标记创建快速、简洁的 Grid 。

       ListView 可以使一个需要更多工作的更灵活的 GridView,也可以使一个提供了更多细节的简化版本的 Repeater(ASP.NET 1.x 中包含的控件)。

       ListView 包括更多的模版:

ItemTemplate 所有数据项或奇数行的内容
AlternatingItemTemplate 偶数行的内容
ItemSeparatorTemplate 在项目中间绘制的分隔内容
SeletedItemTemplate 选定项目的内容
EditItemTemplate 项目在编辑模式中使用的控件
InsertItemTemplate 插入新项目使用的控件
LayoutTemplate 包装项目列表的标记
GroupTemplate 如果使用了分组功能,设置包装项目组的标记
GroupSeparatorTemplate 组之间的分隔内容
EmptyItemTemplate 如果使用了分组,用于填充最后一组里的空项目 例如13个项目,每组5个项目,最后一组缺2个项目
EmptyDataTemplate 设置绑定的数据对象为空(没有包括任何记录或对象)时使用的标记

 

       使用 ListView 最常见的原因是为了创建不常见的布局!例如,创建在同一个行里显示多个项目的表、或者彻底脱离基于表格的呈现。构建显示大量数据的页面时通常首先考虑使用 GridView,而在更特殊的场景里使用 ListView 。

 

       为了在 ListView 里显示数据,需要遵循由 TemplateField 列组成 GridView 的同样过程(至少要使用 ItemTemplate 模版):

<%# Eval("EmployeeID") %> -
<%# Eval("TitleOfCourtesy") %><%# Eval("FirstName") %><%# Eval("LastName")%>

<%# Eval("Address") %>
<%# Eval("City") %>,<%# Eval("Country") %>,<%# Eval("PostalCode") %>
<%# Eval("HomePhone") %>
<%# Eval("Notes") %>
 
 
 

       ListView 为了呈现自身时,它对绑定的数据进行迭代并为每个项目呈现 ItemTemplate。然后它把自己的所有内容都放到普通的<span>里。

       通常你会希望提供一个 LayoutTemplate 以对项的组织进行更多控制。如果包含了 LayoutTemplate,项目则被放到 LayoutTemplate 里面。看下面这个示例,这个示例与没有 LayoutTemplate 的 ListView 行为相同:

 
...
 
 

       为 ListView 创建 LayoutTemplate 时需要指定 ItemTemplate 内容应该插入的位置。添加一个占位符可以实现这一点。该元素将为每个绑定的数据项目重复一次,只要把元素的 ID 设为 itemPlaceholder,就可以把该元素作为占位符。

       因为 LayoutTemplate 才使得 ListView 如此灵活!其他数据控件为数据内容而使用模版,ListView 为数据整体结构而使用模版。

 

分组

       使用分组,首先要设置 GroupItemCount 属性,它决定每个组里数据项的个数:

<asp:ListView ID="listEmployees" GroupItemCount="3" ...>

       设置了分组大小后,还要修改 LayoutTemplate。这是因为总体布局不再包含数据项,它只包含分组,而分组才包含数据项。为了反映这一事实,需要把 ID 从 itemPlaceholder 改为 groupPlaceholder:

 
 

       然后要提供 GroupTemplate 用于封装每个组。GroupTemplate 必须提供一个项目占位符:

 
 

转载地址:http://qroml.baihongyu.com/

你可能感兴趣的文章
Linux查看端口信息命令
查看>>
jq中写PHP
查看>>
jsp EL 表达式
查看>>
问题-Delphi编译时提示缺少delphi自己的单元文件
查看>>
四个 服务器设计模型(42)
查看>>
libevent多线程使用事项
查看>>
linux jps 命令
查看>>
ThreadLocal是否会引发内存泄露的分析 good
查看>>
ios9新特性概述
查看>>
Android的BUG(一) - HTML 5 播放streaming video造成卡住的问题
查看>>
Vim文本编辑器 指令簿(二)
查看>>
linux命令后加一个 &
查看>>
支付标记化(Tokenization)技术
查看>>
centos7 安装kvm, 并创建虚拟机
查看>>
VC++实现在系统托盘来新消息闪烁,鼠标悬停显示窗口
查看>>
Kali命令集
查看>>
Leetcode: Battleships in a Board
查看>>
【死磕jeestie源码】类型后面三个点(String...)和数组(String[])的区别
查看>>
Eigen教程(10)
查看>>
ambari HDFS-HA 回滚
查看>>