您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第7章 数据服务控件和数据绑定技术
2019年10月18日1第7章数据服务控件和数据绑定技术7.1DataGrid控件基本使用DataGrid控件用于将数据源的数据以表格形式显示出来,DataGrid控件的每一行代表和数据源中的一条记录。DataGrid控件同时支持选择、编辑、删除、分页、排序等操作。本节将介绍:DataGrid控件的基本属性DataGrid控件的分页显示在DataGrid控件中实现数据排序控制DataGrid中的列7.1.1DataGrid控件的基本属性DataGrid是数据绑定列表控件,可以表格显示来自数据源的项。DataGrid控件的属性分为两个主要部分,第一部分用于控制DataGrid控件的整体显示效果,包括数据源、绑定表达式、每页容纳的记录的条数等等;第二部分用于控制记录每个字段的显示效果。(日期显示方式,页面行\列颜色及字体的设置)7.1.2DataGrid控件的分页显示DataGrid控件提供了很好的分页显示支持。其属性AllowPaging决定了是否使用分页显示,如果要使用分页显示,需要设置该属性值为true。属性PageSize用于设定每页显示的记录条数。通过PageCount属性可以获得分页的数量。设置PagerStyle-Mode属性,可以设置分页显示的模式,可选的模式如下:NumericPages:以数字形式分页显示。NextPrev:以链接形式分页显示。参见MultiPage项目。7.1.3在DataGrid控件中实现数据排序在DataGrid中可以实现数据的排序(在默认情况下DataGrid并不对数据排序)。当AllowSorting属性设置为true时,就打开了排序功能。此时DataGrid控件的字段头将变为可以点击的链接。当单击这些链接时会触发SortCommand事件。参见DataGridSort项目。7.1.4控制DataGrid中的列DataGrid中的列一共有5种字段显示模式:EditCommandColumn:将最常用的编辑命令(Edit,Update,Cancel)封装在一个预定格式的字段中。HyperLinkColumn:创建一个含有超级链接的字段,字段将绑定于数据源中的值。比如常见的从商品列表到商品详细介绍的链接等等。BoundColumn:将数据源中的字段值在DataGrid中显示出来,是默认的字段显示模式。ButtonColumn:创建一个包含按钮的字段。TemplateColumn:使开发者自定义模板来控制字段的显示效果。7.1.4控制DataGrid中的列注意:在默认情况下,AutoGenerateColumns属性被设置为true,当进行数据绑定时会为数据源中的每个字段创建一个BoundColumn对象。如果要手工定制字段,首先要将AutoGenerateColumns属性设置为false,然后再在Columns标记之间添加自定义的列。参见DataGridSetColumns项目。DataGrid的常用使用技巧日期的显示传递DataGrid中的直在DataGrid中添加确认删除的对话框设置某一列为只读不允许修改编辑在DataGrid中选择确认删除多行,当删除该页上只有一行数据时,要注意页面索引直当鼠标停留时高亮显示该行DataGrid其他使用技巧如何使用程序隐藏和显示DataGrid中的一列如何控制Datagrid中编辑功能出现的TextBox的宽度Datagrid中数据导出到ExcelExcel导入到Datagrid中7.2Repeater控件本节将介绍:Repeater控件的基础知识在Repeater控件中显示数据编号7.2.1Repeater控件的基础知识Repeater控件是一个基本模板数据绑定列表。它没有内置的布局或样式,因此必须在此控件的模板内显式声明所有的HTML布局、格式设置和样式标记。Repeater的数据显示形式,完全由用户通过模板来控制,因此可以有效地弥补DataGrid控件显示效果不丰富的缺点。Repeater控件的5种模板ItemTemplate,数据摸板,完成对列表内容和布局的定义。这是Repeater控件必须的。AlternatingItemTemplate,隔行数据模板,可以用它决定交替项的布局和内容,可选参数。SeparatorTemplate,分割线模板,如对其进行定义,则将会在项(交替项)之间出现分隔符。可选参数。HeaderTemplate,标头模板,如对其进行定义,则可以决定列表标头的布局和内容。可选参数。FooterTemplate,注脚模板,如对其进行定义,则可以决定列表注脚的布局和内容。可选参数。7.2.2在Repeater控件中显示数据编号在Repeater控件中可以通过ItemTemplate制定要显示的数据列。RepeaterDemo项目演示如何在Repeater控件中显示数据的编号。7.3DataList控件DataList数据控件和Repeater数据控件输出的格式都取决于模板的定义,不同之处在于:DataList在浏览器中会以表格的形式输出。本节主要介绍:使用SelectedItemTemplate模板应用DataKeyField属性获取主键在DataList控件中编辑数据DataList控件的模板除了支持Repeater控件拥有的5个模板以外,DataList控件还支持以下两个模板:EditItemTemplate:项在设置为编辑模式后的布局。此模板通常包含编辑控件(如TextBox控件)。当EditItemIndex设置为DataList控件中某一行的序号时,将为该行调用EditItemTemplate。SelectedItemTemplate:当用户选择DataList控件中的一项时呈现的元素。通常的用法是增加所显示的数据字段的个数并以可视形式突出标记该行。7.3.1使用SelectedItemTemplate模板在浏览数据时,用户有时并不关心记录中所有字段的值,通常只需要每条记录的主题信息即可。在找到合适自己的记录后才希望看到全部信息。SelectedItemTemplate就是为了满足这种需要而设计的。7.3.2应用DataKeyField属性获取主键DataKeyField属性用于获取或设置由DataSource属性指定的数据源中的键字段。DataKeyField属性可以存储键字段而无需在控件中显示它。在事件处理程序(例如ItemCommand或DeleteCommand)中,DataKeyField属性中存储的关键字段可以用来作为更新查询字符串的一部分,以修改数据源中的特定记录。键字段帮助更新查询字符串标识要修改的适当记录。7.3.3在DataList控件中编辑数据DataList允许用户编辑控件中的单个项。当将单个项置于编辑模式中时,其可编辑值通常显示在用户可更改值的文本框或其他控件中。参见DataListEditData项目。7.4简单服务器控件的数据绑定以上几节介绍了DataGrid、Repeater和DataList控件,这几个控件的使用都比较复杂。对于一些简单的数据库服务控件,可以通过数据绑定使其获得一定的数据源。本节将介绍:简单数据绑定绑定控件使用DataBinder.Eval方法使用数据控件注意:尽管可通过属性设置将数据控件绑定到所创建的数据集,但是,数据集本身不会被自动填写,必须在代码中调用数据适配器方法来填充数据集(da.Fill(ds))。即使在数据集被填充后,数据控件仍不会自动显示数据,必须将数据控件显示绑定到它的数据源(dg.DataBind())。7.4.1简单数据绑定ASP.NET支持服务器端的数据绑定,数据绑定表达式的语法如下:%#databindingexpression%其中,“#”表示要进行数据绑定操作。ASP.NET页面不会自动执行数据绑定操作,只有在程序中调用DataBind()方法时,才会执行绑定操作。每个控件都有DataBind()方法,而且Page对象也有DataBind()方法。当调用Page对象的DataBind()方法时,ASP.NET页面会自动调用页面中每个控件的DataBind()方法。参见SimpleBinding项目。7.4.2绑定控件除了可以将简单数据绑定到控件,还可以将一个控件绑定到指定的控件,如把DataView控件绑定到DataGrid控件。以下几个控件可以赋值给DataSource属性,进行数据绑定:ArrayList对象。集合。数据阅读器(DataReader)。DataView对象。DataRow对象。数据集中的DataTable对象。绑定控件属性设置1.将DataSource属性设置为数据集后,2.将DataMember属性设置为要绑定到的表的名称。如果未设置该属性,在默认情况下使用数据集中的第一个表。3.将DataTextField属性设置为要在控件中显示的数据列的名称。4.设置DataValueField属性来指定在用户选择一项时控件应返回为其值的列的名称。设置完以上属性后,调用DataBind方法即可实现数据绑定。7.4.2绑定控件privatevoidPage_Load(objectsender,System.EventArgse){sqlDataAdapter1.Fill(dsAuthors1);if(!this.IsPostBack){ListBox1.DataSource=dsAuthors1;ListBox1.DataMember=authors;ListBox1.DataTextField=au_id;ListBox1.DataValueField=au_lname;ListBox1.DataBind();}}该段代码添加入SimpleBinding项目中。7.4.3使用DataBinder.Eval方法DataBinder.Eval方法是一个静态方法,在运行时使用反射来分析和计算对象的数据绑定表达式。此方法方法可通过声明方式在Web窗体页上使用,以简化类型之间的转换。publicstaticobjectEval(objectcontainer,stringexpression);publicstaticstringEval(objectcontainer,stringexpression,stringformat);7.5本章小结本章主要对数据服务控件进行了介绍,主要介绍DataGrid,Repeater和DataList三个控件的使用方法,并给出了大量实例代码。最后,本章给出了进行数据绑定的方法,该方法可以用于其他数据服务控件。通过本章的学习,读者应该掌握:●DataGrid控件的分页显示,排序的方法。●在Repeater控件中显示数据编号的方法。●如何使用使用SelectedItemTemplate模板。●如何在DataList控件中编辑数据。
本文标题:第7章 数据服务控件和数据绑定技术
链接地址:https://www.777doc.com/doc-1599755 .html