- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章数据绑定技术
第5章 数据绑定技术 第5章 数据绑定技术 5.1 数据绑定概述 5.2 Windows应用程序的数据绑定 5.3 Web应用程序的数据绑定 5.1 数据绑定技术概述 数据绑定技术是一种将用户界面的界面控件与数据源的数据捆绑在一起的技术,使用数据绑定可以在界面控件中通过完成一些设置即可自动显示数据源中的数据,甚至可以在界面控件中直接编辑数据源中的数据,而不需要手动编程。 .NET的数据绑定技术 在.NET平台下,数据绑定技术有了进一步的发展,主要的改进包括: 数据源更为多样。支持传统数据源、各种数据对象、数组、支持IList接口的各种对象、实现了IEnumerable接口的各种对象(需要用到BindingSource控件)、甚至普通的.NET对象。 Web开发中也支持数据绑定。 数据绑定可以绑定到控件的除Text属性之外的更多属性上,如控件大小、可见属性、控件背景色等等。 5.2 Windows应用程序的数据绑定 菜单“数据|添加新数据源”,籍由数据库自动创建类型化的数据集(DataSet)和类型化的适配器(TableAdapter) 菜单“数据|显示数据源”,可以拖放数据表到窗体上 5.2.1 使用VS2008快速生成数据绑定程序 在Visual Studio 2008的文件菜单中选择新建一个Windows窗体应用程序项目。 在VS2008中选择“数据→添加新数据源”,打开数据源配置向导,用来为当前应用程序添加类型化数据集。 在数据源配置向导对话框中选择数据源为数据库,然后点击下一步。 在选择数据连接窗口中点击新建连接按钮,会弹出建立数据库连接的窗口。 保存新建连接的连接字符串,保存以后,当前应用程序中的其它数据访问程序也都可以使用这个数据连接字符串。 选择需要访问的数据库表、视图、存储过程及函数等。 执行菜单“数据→显示数据源”显示添加的数据源。 将数据源拖动到窗口上,自动生成数据绑定的程序。 设置绑定后自动生成的对象 添加数据源和绑定后,VS自动生成类和窗体对象: 根据TeachingManagementDataSet生成一个类型化的数据集对象“teachingManagementDataSet”。大写开头的是类名,小写是类的实例,即对象。 一个“teacherBindingSource”控件,用来实现界面控件和数据集的绑定。 一个“teacherBindingNavigator”控件,用来操作数据。其中包含的图形按钮功能依次是:移动到首记录、移动到上一记录、记录当前位置、表的记录总数、移动到下一记录、移动到末记录、增加新记录、删除当前记录和保存修改。 一个“teacherTableAdapter”对象,用来访问Teacher数据表的数据。 一个“tableAdapterManager”对象,用来管理数据集中多数据表的保存。 5.2.2 类型化数据集和TableAdapter 数据库的名字是TeachingManagement,则类型化数据集的类名就是TeachingManagementDataSet TeachingManagementDataSet.xsd文件中定义的类主要有: 一个TeachingManagementDataSet类,继承于DataSet类型 一个TableAdapterManager类 每个加入数据源的数据表对应生成一个DataTable类([表名]DataTable)、一个DataRow类([表名]Row)、一个TableAdapter类([表名]TableAdapter)、一个事件参数类和一个委托类。 例如:根据教师表(Teacher)自动生成以下类:TeacherDataTable,TeacherRow,TeacherTableAdapter,TeacherRowChangeEvent和TeacherRowChangeEventHandler。 1. 非类型化数据集 前面介绍的DataSet是非类型化的数据集,访问数据表需要使用索引下标或名称(表名/列名)来指定所要访问的数据表或表中的数据列,书写代码繁琐,编译程序无法辨错。 例如: DataRow aTeacher; //无类型的行对象 DataTable teachers; //无类型的表对象 teachers = ds.Table[“Teacher”]; //表名可能写错 aTeacher = teachers.Rows[0]; //第一条记录 aTeacher[“TeacherName”] = “赵飞”; //列名可能写错 2. 类型化数据集 而类型化的数据集对象则直接使用成员属性来访问。书写代码时有智能感知功能,编译能发现错误。 一个强类型的DataTable,它的所有的字段都是通过属性的形式来实现
原创力文档


文档评论(0)