- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15.2.2 ListView控件的分组布局
ListView控件提供了一个分组布局的功能,该功能会将 ItemTemplate中的项以水平平铺方向进行布局.在平铺表布局中, 项在行中沿水平方向重复出现.项重复出现的次数由ListView控 件的GroupItemCount 属性指定.GridView控件中有一个 GroupTemplate元素,使用该元素可以创建分组布局的功能,下面 将使用该功能为前面示例的Northwind数据库的Products表创建一 个平铺的特性.
15.2.3 使用DataPager分页
ListView本身没有提供分页功能,可以借助于DataPage控件.DataPage控 件是一个专门用于分页的服务器控件.如果DataPager位于实现了 IPageableItemContainer 接口的控件中时,将自动完成分页功能,目前 只有ListView控件实现了此接口. 下面演示如何为Products表实现分页功能.从工具箱中拖一个DataPager 控件到页面任何位置,指定其PageSize属性为3,表示每页显示3条记录, 单击智能提示标签,在弹出的DataPager任务窗口中提供了方法定义 DataPager显示的样式,选择编辑页导航字段可以让开发人员指定导航的 显示属性,如图所示.
GridView控件的列类型
说明 列字段类型 BoundField ButtonField CheckBoxField CommandField HyperLinkField ImageField TemplateField 显示数据源中某个字段的值.GridView控件的默认列类型. 为GridView控件中的每个项显示一个命令按钮.这使您可以创建一列自定义按钮控件,如"添加"按钮或"移除" 按钮. 为GridView控件中的每一项显示一个复选框.此列字段类型通常用于显示具有布尔值的字段. 显示用来执行选择,编辑或删除操作的预定义命令按钮. 将数据源中某个字段的值显示为超链接.此列字段类型使您可以将另一个字段绑定到超链接的URL. 为 GridView 控件中的每一项显示一个图像. 根据指定的模板为GridView控件中的每一项显示用户定义的内容.此列字段类型使您可以创建自定义的列字段.
15.1.5 使用GridView控件创建主从表
在本节中,将为GridViewShow.aspx添加主从功能,希望用户能选 中某个产品后,在另外一个GridView控件中显示出该产品的销售 详细信息.在页面上放置一个GridView控件,放置一个 SqlDataSource控件,使其打开Order Details数据表,设置一个 控件参数绑定到产品GridView1的SelectedValue属性,如图所示.
15.1 GridView控件
GridView是一个显示表格式数据的控件,这个控件也是服 务器控件中功能最强大,最实用的一个控件.GridView显示一个 二维表格式数据,每列表示一个字段,每行表示一条记录. GridView 控件支持下面的功能: 绑定至数据源控件,如SqlDataSource,ObjectDataSource或者是 LinqDataSource控件. 内置的排序功能. 内置了更新和删除记录的功能. 内置数据分页功能. 内置行选择功能. 提供以编程方式访问GridView对象模型以动态设置属性,处理事 件等. 可以指定多个键字段. 用于超链接列的多个数据字段. 可通过主题和样式进行自定义的外观.
15.1.8 为GridView控件添加统计信息
本示例将使用RowDataBound事件为GridView添加汇总信息, 本示例希望用户在选中某个产品后,除了显示与该产品相 关的订单信息外,还显示这些订单的汇总信息.
15.1.9 实现分页,排序效果
当在GridView控件的任务面板中选择"启用排序"项后, GridView控件的AllowSorting属性被设为True,如果设置 了SortExpression属性的列头将输出为一个链接.当用户 点击该链接时,将会自动进行排序.GridView自动记住每 次点击是升序和降序,多次点击会在升序和降序之间进行 切换.开发人员可以通过处理RowDataBound事件来自定义 排序的外观,也可以通过调用GridView的Sort方法来手动 进行排序. 还可以在PagerTempate模板中进行分页设计,另外, GridView提供了PageStyle属性,可以设置分页的样式,如 果要指定每页显示的记录数,可以设置GridView控件的 PageSize属性. GridView控件功能强大,很多功能在本章中不能一一涉及, 希望读者能够继续参考一些其他的资料.全方位的学好该 控件的用法能显著提高日后的应用程序开发.
15.1.3 使用模板列
一些情况下使用标准的列并不能满足显示的要求,比如希望为供应商和产 品分类显示名称,希望将产品名称和单位数量显示在一个字段中.此时可 以考虑使用模板列. 模板列让开发人员有机会去处理列显示的细节,解决预定义的列不能提供 的功能.GridView控件使用TemplateField来创建自定义的模板列,当用 户在GridView控件中使用模板列时,需要根据不同的GridView位置来编辑 不同的模板列,比如如果想自定义GridView控件的表头,可以编辑 HeaderTemplate模板,对于每一行可以编辑ItemTempate模板.
15.1.1 使用GridView控件
GridView呈现表格式的数据,默认情况下会将数据源中的数据输出一个 HTML表格,每条记录输出一个表格式,下面新建一个页面来演示如何使用 GridView控件. (1)新建一个名为GridViewDemo的网站,在该站点中添加一个 GridViewShow.aspx的页面,接下来添加一个SqlDataSource控件,指定其 绑定到Northwind数据库的Products数据表,声明代码如下所示: <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" SelectCommand="SELECT * FROM [Products]"></asp:SqlDataSource> (2)从工具箱的数据栏中拉一个GridView控件到设计视图,VS2008将生 成如下所示的声明代码: <asp:GridView ID="GridView1" runat="server"></asp:GridView>
GridView控件的模板列 说明 模板 AlternatingItemTemplate EditItemTemplate FooterTemplate HeaderTemplate InsertItemTemplate ItemTemplate 为交替项指定要显示的内容. 为处于编辑模式中的项指定要显示的内容. 为对象的脚注部分指定要显示的内容. 为标头部分指定要显示的内容. 为处于插入模式中的项指定要显示的内容.只有DetailsView控件支持该模板. 为TemplateField对象中的项指定要显示的内容.
第15章 数据绑定控件
在VS2008工具箱的数据栏中,提供了几个开发 应用程序的重量级的数据绑定控件.这几 个控件的功能强大,使用灵活,在应用系统开发 中的使用频率也是相当高.本章将详细的介绍 GridView,DetailsView,ListView和FormView这 几个控件,灵活掌握对这几个控件的使用,然后 综合本书以前的知识,相信读者将能够进行基本 的数据库应用程序的开发.
15.1.4 GridView控件的选择功能
GridView控件允许用户选择某一条记录,在GridViewShow.aspx的 GridView中,通过使用GridView的任务面板启用了选择功能, GridView控件会增加一个选择命令按钮.当在GridView控件中选 择一行时,可以通过GridView控件的SelectedRowStyle设置选中 的效果.可以使用属性面板也可以直接在代码中进行设置,下面 的代码将选择行的颜色设置为Aqua,字体设为粗体. <SelectedRowStyle BackColor="Aqua" FontBold="True" /> 运行时,只要单击选择按钮,则GridView会高亮显示选中的行, 如图所示.
15.2.1 ListView控件简介
ListView控件是一个相当灵活的数据绑定控件,该控件不具有默认的格式 呈现,所有的格式需要开发人员自由的设计来实现.由于完全依赖模板设 计,ListView控件提供了很多的模板以供完成设计.在ListView中,有两 个控件是必须的,一个是LayoutTemplate,一个是ItemTemplate.表列出 了ListView控件的11个模板及其详细的描述.
15.1.6 GridView控件事件
GridView控件提供了很多的事件,开发人员可以使用这些 事件定制GridView控件的外观和形为.为了便于理解 GridView控件的事件,这里将GridView控件中所有这些事 件发为三大类,分别控件呈现事件,编辑记录事件和选择, 排序分页事件. 控件呈现事件在GridView显示其数据行时触发,可以分为 如下几种: DataBinding:GridView控件绑定到数据源时立即触发. DataBound:GridView控件己经绑定到数据源后触发. RowCreated:当GridView中的行被创建后触发该事件. RowDataBound:当GridView中的每行绑定到数据后触发.
15.1.7 编程格式化特定行列值
在应用程序开发过程中,经常需要为特定的字段值显示不同的格 式,比如仓库系统的的库存低于安全库存,可能需要以红字高亮 显示这些库存记录,或者是产品成本价钱过高,决策层希望一目 了然的看到这些信息.此时需要按条件来格式化GridView控件的 显示,在GridView中,有两个事件可以完成这一需求: RowCreated事件和RowDataBound事件. 必须明白这两个控件的区别,RowCreated事件触发于GridViewRow 被创建之后,在数据绑定完成之前,而RowDataBound事件在 GridView绑定到数据源后触发.如果行没有被绑定到数据源将不 会触发RowDataBound事件,而RowCreated事件在任何时候,只要 具有PostBack时都会触发. RowCreated可以用来向行添加自定义内容,自定义格式. RowDataBound事件在数据绑定后,控件呈现之前触发,可以在该 事件中定义事件修改绑定到该行的数据的值,比如为布尔字段显 示特定ager控件