数据源提供器(DataProvider).doc
文本预览下载声明
在WPF中系统提供了两个数据源提供器(DataProvider):对象数据源提供器(ObjectDataProvider)和XML数据源提供器(XmlDataProvider)。其作用类似于ASP.Net数据源(DataSource)中的对象数据源(ObjectDataSource)和Xml数据源(XmlDataSource)。其继承结构如下:
ObjectDataProvider用于处理由方法返回值所产生的数据源,其应用非常广泛,通常多层应用程序通常在界面上使用ObjectDataProvider处理由组件层所产生的数据。在本节中我们主要处理ObjectDataProvider,对于XmlDataProvider感兴趣的朋友可以参考MSDN。
一、组件端定义
例如:定义一个类库项目,在其中定义一个ProductInfo类、CategoryInfo类,用来封装Northwind数据库中的Products表及Categories表中的数据。定义NorthwindDataSet,包含Product、Category两个DataTable。定义DataControl类,处理对Northwind数据库的操作,返回相应的封装后的类型或集合作为界面显示的数据源。
1、ProductInfo类和CategoryInfo类
1: namespace WPF_24_Library
2: {
3: /// summary
4: /// 封装产品表的信息
5: /// /summary
6: public class ProductInfo
7: {
8: public int ProductID
9: {
10: set; get;
11: }
12: public string ProductName
13: {
14: set; get;
15: }
16: public decimal UnitPrice
17: {
18: set; get;
19: }
20: public int CategoryID
21: {
22: set; get;
23: }
24: }
25: }
?
1: using System.Collections.Generic;
2:?
3: namespace WPF_24_Library
4: {
5: /// summary
6: /// 封装类别表的信息
7: /// /summary
8: public class CategoryInfo
9: {
10: public CategoryInfo()
11: {
12: Products = new ListProductInfo();
13: }
14:?
15: public int CategoryID
16: {
17: set; get;
18: }
19: public string CategoryName
20: {
21: set; get;
22: }
23:?
24: /// summary
25: /// 封装该类别的所有产品
26: /// /summary
27: public ListProductInfo Products
28: {
29: private set; get;
30: }
31: }
32: }
2、类型化DataSet
此类型化DataSet由Visual Studio IDE生成:
3、DataControl类
DataControl类用来处理所有的数据库的操作,其功能分为以下几个部分:
基于返回集合的方法GetAll
显示全部