富数据控件 LstView(模版、分组)

富数据控件 LstView(模版、分组)

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 模版):

<asp:ListView ID="listEmployees" DataSourceID="sourceEmployees" runat="server">
    <ItemTemplate>
        <span><b>
            <%# Eval("EmployeeID") %> -
            <%# Eval("TitleOfCourtesy") %><%# Eval("FirstName") %><%# Eval("LastName")%>
        </b><hr />
            <small><i>
                <%# Eval("Address") %><br />
                <%# Eval("City") %>,<%# Eval("Country") %>,<%# Eval("PostalCode") %><br />
                <%# Eval("HomePhone") %>
                </i><br /><br />
                <%# Eval("Notes") %>
                <br /><br />
            </small></span>
    </ItemTemplate>
</asp:ListView>

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

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

<asp:ListView ID="listEmployees" DataSourceID="sourceEmployees" runat="server">
    <LayoutTemplate>
        <asp:PlaceHolder ID="itemPlaceholder" runat="server"></asp:PlaceHolder>
    </LayoutTemplate>
    <ItemTemplate>
        ...
    </ItemTemplate>
</asp:ListView>

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

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

分组

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

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

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

<LayoutTemplate>
    <table border="1">
        <tr id="groupPlaceholder" runat="server">
</LayoutTemplate>

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

<GroupTemplate>
    <tr><td runat="server" id="itemPlaceholder" valign="top" />
</GroupTemplate>
时间: 2024-10-22 02:01:11

富数据控件 LstView(模版、分组)的相关文章

富数据控件 DetailsView 和 FormView

富数据控件 DetailsView 和 FormView DetailsView 和 FormView 擅长于每次都只显示一个记录,并包含一个可选的分页按钮. DetailsView 和 FormView 的差别在于:DetailsView 显示表中的内容,而 FormView 更加灵活,可以在无表的情况下显示内容.如果打算使用模版,FormView 会提供最大的灵活性,否则,DetailsView 会提供一个更简单的模型. DetailsView DetailsView 被设计为每次只显示一个

ASP.NET数据控件

数据服务器控件就是能够显示数据的控件,与那些简单格式的列表控件不同,这些控件不但提供显示数据的丰富界面(可以显示多行多列数据并根据用户定义来显示),还提供了修改.删除和插入数据的接口. ASP.NET 4.0提供的主要数据服务器控件: 1.GridView:是一个全方位的网格控件,能够显示一整张表的数据,它是ASP.NET中最为重要的数据控件. 2.DetailsView :是用来一次显示一条记录. 3.FormView :也是用来一次显示一条记录,与DetailsView不同的是,FormVi

初始ASP.NET数据控件【续 ListView】

ListView控件   ListView控件可以用来显示数据,它还提供编辑,删除,插入,分页与排序等功能.ListView是GridView与DataList的融合体,它具有GridView控件编辑数据的功能同时还具有DataList控件的灵活布局的功能.ListView控件的分页功能需要通过DataPager控件来实现. ListView控件的模版 LayoutTemplate:标识定义控件的主要布局的根模版.包含一个占位符对象,如表行(tr),div,span元素.此元素将由ItemTem

ASP.NET-----Repeater数据控件的用法总结(转)

一.Repeater控件的用法流程及实例: 1.首先建立一个网站,新建一个网页index.aspx. 2.添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中. 3.打开数据库企业管理器,数据库服务器为local(.),然后将APP_Data文件夹中的数据库附加到数据库服务器中. 4.添加Ling to  SQL类. 5.打开视图,服务器资源管理器,右击数据库服务器,选择添加连接,然后选择数据库服务器.数据库类型,及数据库表,然后完成. 6.将需要用到的表,全

FastReport.Net使用:[15]富文本控件使用

富文本(Rich Text)控件用于显示Rtf格式的文本. 认识富文本编辑窗体 1.下图就是富文本的编辑窗体,乍一看就像Word一样,不过功能没有Word强大了.具体功能就不一一介绍了,用个Word的相信都会使用. 值得注意的是,编辑完后一定要点击"确定"按钮,不然就前功尽弃了. 报表数据显示 富文本支持的数据与文本控件一致,包含数据源的列.报表参数.汇总值.表达式等. 参见如下设计和预览效果. 几个注意点 在报表导出的时候,有些文档中富文本控件的内容会以图片格式显示.比如Word,r

用于后台管理的列表数据控件:DataGrid和Select

常听人说不喜欢javascript.然而我一个一直用C#做后端的人,最喜欢的编程语言就是javascript了,我接收它的优点,也接收它的缺点! 前段时间接触过easyui,用过里面的DataGrid和Combobox等控件,感觉DataGrid的确减少了一些重复的工作,但是easyui改变原有的Element,比如textbox,不能用$("#id").val()获取值了,只能用$(“#id”).textbox('getValue')来获取,不喜欢这样.国庆放假,票到3号了,今天有时

Asp.Net数据控件引用AspNetPager.dll分页

今天与大家分享一下"Asp.Net数据控件引用AspNetPager.dll分页"首先声明以下几点: 1.也许讲解有点初级,希望高手不要"喷"我,因为我知道并不是每一个人都是高手,我也怕高手们说我装13,小生不才: 2.如有什么不对的地方,还希望大家指出,一定虚心学习: 3.本文属于作者原创,尊重他人劳动成果,转载请注明作者,谢谢. 下面开讲: 第一步:首先是下载一个AspNetPager.dll 下载地址 http://files.cnblogs.com/tand

Winform控件之DataGridView数据控件显示问题

最近在做同类的信息记录管理系统时遇到了DataGridView数据控件的显示问题,可能是2015年的上半年没有深入 学习C#开发的原因,这几天重新搬出来开发,首先遇到的问题就是动态绑定数据显示的问题,琢磨了很久,在网上查 了也不少,但是对自己的数据列表显示问题还是没有做到最佳.最后解决的方法还是自己一个尝试出来的,虽然不是 很好,但最起码遇到的问题都解决了,顿时轻松了许多. 一默认状态的绑定 也就是没有设置DataGridView控件数据列表中的列的设置,其他的属性该设置还需设置.我们来看一下实

winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中

for (int i = 0; i < this.dataGridView1.Rows.Count; i++) { this.dataGridView1.Rows[i].Cells["CheckBoxCulums"].Value = this.checkBox1.Checked; } winfrom中DataGridView绑定数据控件中DataGridViewCheckBoxColumn怎么选中,布布扣,bubuko.com