ListView与DataPager控件
ListView控件与GridView很大的区别是,ListView控件的数据完全是由模板来显示,开发人员可以自定义模板来灵活的显示数据。这些模板有:
LayoutTemplate(数据就是在这里显示的,不过真正用来显示数据的是ItemTemplate模板,只不过ItemTemplate模板在这里占了一个位置而已,所以LayoutTemplate里是放table还是div都是一样的,另外在分组布局时,在LayoutTemplate里占位的是GroupTemplate模板,但在GroupTemplate模板里占位的是ItemTemplate模板,所以终究是ItemTemplate模板显示数据)
ItemTemplate(显示绑定的数据的模板)
GroupTemplate(分组模板)
EmptyItemTemplate(当用GroupTemplate模板分组后,在有些行内的ItemTemplate模板不够GoupItemCount属性定的个数(每行的ItemTemplate数),将显示EmptyItemTemplate的内容)
ItemSeparatorTemplate(各项之间显示的内容)
EmptyDataTemplate(当数据源为返回数据时显示的内容)
SelectedItemTemplate(所选数据项显示的内容)
AlternatingItemTemplate(交替项所显示的内容)
EditItemTemplate(编辑项所显示的内容,会由EditItemTemplate取代ItemTemplate)
InsertItemTemplate(插入项)
当为ListView绑定了数据源后,它不会自动生成呈现的代码:
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1">
</asp:ListView>
这时在智能列表里会有一个配置ListView的选项,可以选择布局及样式,如果在数据源配置时配置了增删改,在这里就可以启用增删改及分页选项,这些布局分别是:
网格式(与GridView显示差不多,用table布局),还有平铺式(用到了GoupTemplate来分组,用table布局),项目符号列表(ul列表),流(与ul差不多,用div布局),单行(与平铺差不多,用table布局)
当然也可以自己手工来布局自己想要的,但在这之前必须要明确:1.runat="server" 2.必定有一个暂且叫容器元素或控件的ID="itemPlaceholder",如:
<tr ID="itemPlaceholder" runat="server"></tr>,<li ID="itemPlaceholder" runat="server" />,<asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>这些ID表明他们是itemTemplate模板的占位符。当然用到GoupTemplate分组时这些ID可以写成groupPlaceHolder,但在GroupTemplate里的占位符ID必需是itemPlaceholder。当通过ListView的GroupItemCount分组布局时,对于在智能列表里配置的ListView:网格式,项目符号列表,流,单行(分不了组,其没有GroupTemplate模板)平铺式(有GroupTemplate模板,可以分组),自己动手加GroupTemplate模板比较麻烦。对于自己手工布局的ListView只要有GroupTemplate模板就可以完成分组。
ListVist本身没有分页功能,要靠DataPager来辅助分页,DataPager只要放在实现了IPageableItemContainer接口的控件中将自动完成分页功能。对于在智能列表里配置的ListView,只要启动了分页,在代码里就自动加入了DataPager控件,只要给它加上PageSize属性(每页显示几条记录)就可以了。对于自己手工布局的ListView:把DataPager拖到其LayoutTemplate模板里,还可在其智能任务列表里设置分页的样式。
手工布局的ListView:
<asp:ListView ID="ListView6" runat="server" DataSourceID="SqlDataSource1"
GroupItemCount="2">
<LayoutTemplate>
<fieldset runat="server">
<legend runat="server">评论</legend>
<asp:PlaceHolder ID="groupPlaceHolder" runat="server"></asp:PlaceHolder>
</fieldset>
<asp:DataPager ID="DataPager2" runat="server" PageSize="2">
<Fields>
<asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True"
ShowLastPageButton="True" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<GroupTemplate>
<div runat="server" class="group" id="group">
<asp:PlaceHolder ID="itemPlaceHolder" runat="server"></asp:PlaceHolder>
</div>
</GroupTemplate>
<ItemTemplate>
<div runat="server" id="item" class="item">
<h3>评论ID:<%#Eval("id")%></h3>
评论时间:<%#Eval("createtime","{0:d}") %><br />
评论内容:<%#Eval("content") %><br />
</div>
</ItemTemplate>
<SelectedItemTemplate>
<div runat="server" id="item" class="item">
<h3>评论ID:<%#Eval("id")%></h3>
评论时间:<%#Eval("createtime","{0:d}") %><br />
评论内容:<%#Eval("content") %><br />
</div>
</SelectedItemTemplate>
</asp:ListView>
<style type="text/css">
.group{ background-color:Gray; border-style:dashed; border-color:Red; border-width:2px;}
.item { background-color:Yellow; border-style:dotted; border-color:Green; border-width:2px; color:Blue;}
.item h3{ font-family:微软雅黑; color:Green; height:20px; margin-top:0px; margin-bottom:0px;}
</style>
分享到:
相关推荐
ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发电子书及示例代码ASP.NET服务器控件与组件开发...
ASP.NET服务器控件是.NET框架中的核心组成部分,用于构建动态Web应用程序。在ASP.NET中,服务器控件提供了丰富的功能,使开发人员能够更方便地创建交互式的网页。本教程“ASP.NET服务器控件高级编程”深入探讨了这些...
本教程将深入探讨ASP.NET服务器控件的开发技术,并通过实例来帮助你理解和应用这些知识。 一、服务器控件基础 ASP.NET服务器控件是运行在服务器端的,它们在HTML发送到客户端之前被处理。服务器控件具有丰富的属性...
ASP.NET 服务器控件:DropDownCheckBoxList ,支持下拉多选,支持.NET3.5 支持主流浏览器IE8及以上版本 FF3.5+,Chrome 9+,Safari 5 等浏览器。
《ASP.NET服务器控件与组件开发》是一门深入探讨ASP.NET技术中服务器控件和组件构建的专业主题。在ASP.NET框架中,服务器控件和组件是网页开发的核心元素,它们为开发者提供了丰富的功能,简化了网页交互逻辑的实现...
ASP.NET服务器控件与组件开发是Web开发领域中的核心概念,尤其对于构建动态、交互性强的Web应用程序至关重要。ASP.NET是Microsoft .NET框架的一部分,它提供了丰富的服务器控件和组件库,使得开发者能够以声明式的...
资源共享啦!!... <<ASP.NET 服务器控件开发技术与实例>>附光盘代码 是服务器控件开发的入门及应用的书,想做ASP.NET服务器控件开发的不妨看看,里面带有10个经典控件开发实例源码和DEMO...
《ASP.NET服务器控件开发技术与实例》一书的光盘源程序代码是学习和深入理解ASP.NET服务器控件开发的宝贵资源。该资源由C#编程语言和Visual Studio 2005(VS2005)环境构建,旨在为开发者提供实战性的指导和示例,...
ASP.net服务器控件与组件开发
ASP.NET服务器控件开发(en) 很好的服务器控件开发资料
Asp.Net服务器控件开发 源代码 书中所有工程均采用Visual Studio.NET 2003进行开发,其Microsoft .NET Framework版本为1.1.4322。更详细的说明见书的“光盘使用必读”。
ASP.NET服务器控件是.NET框架下用于构建动态Web应用程序的核心组件。它们在Web页面的生命周期中扮演着重要角色,提供了一种与客户端交互的方式,并在服务器端处理用户输入。本教程将深入探讨ASP.NET服务器控件的开发...
ASP.NET服务器控件是.NET Framework框架中用于构建动态Web应用程序的核心元素之一。这些控件提供了一种方便的方式来创建用户界面,使开发人员能够通过拖放和配置属性来快速开发功能丰富的网页。在“asp.net服务器...
Asp.Net服务器端控件是.NET框架中用于构建动态Web应用程序的关键组件。这些控件提供了一种方便的方式来创建交互式的用户界面,使开发者能够轻松地处理网页上的数据和功能。在Asp.Net中,服务器端控件是核心的开发...
ASP.NET服务器控件和组件是构建动态Web应用程序的关键元素,它们为开发者提供了丰富的功能和便捷的接口,使得在网页上创建交互式用户界面变得简单。本文将深入探讨这些控件和组件的开发过程,帮助初学者快速掌握核心...
ASP.NET服务器控件是.NET Framework下开发Web应用程序的重要组成部分,它们为开发者提供了丰富的交互性和功能。在ASP.NET中,服务器控件是运行在服务器端的,可以处理用户输入、生成HTML代码并将其发送到浏览器。这...
ASP.NET服务器控件高级编程 ASP.NET 服务器控件 自定义控件