Portal starter kit PortalCfg.xml 转为DataSet类的小小整理(内部用)

为缩短代码,xml文件的部分内容:

<?xml version="1.0" standalone="yes"?>
<SiteConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/PortalCfg.xsd">
  <Global PortalId="0" PortalName="ASP.NET Portal Starter Kit" AlwaysShowEditButton="false" />
</SiteConfiguration>



私有成员:

  1. 有多少个表就有多少个私有成员,
  2. 加一个 System.Data.SchemaSerializationMode 成员,指示类型化 DataSet 的架构序列化模式。

两个构造函数:
  一般用无带参数的创建 DataSet 实例。

属性:

  1. 直接返回所有表私有成员
  2. SchemaSerializationMode:返回和设置对应的私有成员。
  3. System.Data.DataTableCollection Tables:表示 DataSet 的表的集合。return base.Tables;
  4. System.Data.DataRelationCollection Relations:表示此 DataSet 的 DataRelation 对象的集合。return base.Relations;
     DataRelation 对象:表示两个 DataTable 对象之间的父/子关系。

重载方法:

  1. InitializeDerivedDataSet:担了吾清吾楚(多内容)
  2. Clone:复制 DataSet 的结构,包括所有 DataTable 架构、关系和约束。不要复制任何数据。(多内容)
  3. ShouldSerializeTables:获取一个值,该值指示是否应该保持 Tables 属性。return false;
  4. ShouldSerializeRelations:获取一个值,该值指示是否应该保持 Relations 属性。
  5. ReadXmlSerializable:担了吾清吾楚(多内容,与多少个表有关)
  6. GetSchemaSerializable:担了吾清吾楚(多内容,返回 Xml 架构对象模型层次结构的根类,System.Xml.Schema.XmlSchema)

自定义方法:

  1. internal void InitVars():this.InitVars(true);
  2. internal void InitVars(bool initTable)
  3. private void InitClass():初始化 DataSet 实例,向Tables Add,建立各表之间的父/子关系等
  4. private bool ShouldSerializeGlobal():return false;
     有多少个表,就多少个ShouldSerialize+表名()方法:都 return false;
  5. private void SchemaChanged(object sender, System.ComponentModel.CollectionChangeEventArgs e):事件处理程序
  6. public static System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(System.Xml.Schema.XmlSchemaSet xs):两类一样

委托:

  1. public delegate void GlobalRowChangeEventHandler(object sender, GlobalRowChangeEvent e);
     有多少个表,就多少个 表名+RowChangeEventHandler(object sender, GlobalRowChangeEvent e)委托

嵌套类:

  每个表有 3 个类:

  一个是继承 System.Data.DataTable(表示DataSet里的一个DataTable)且实现 System.Collections.IEnumerable 接口。
  该类主要定义各列,构造函数,增加行方法,取列值,行更改、删除等事件及处理程序,初始化各列值,重载基类的各个常见方法。

  一个是继承 System.Data.DataRow(表示 DataTable 中的一行数据。)
  该类主要获取、设置和判断行中各列的值,

  一个是继承 System.EventArgs(EventArgs 是包含事件数据的类的基类。),是事件处理程序,与定义的委托关联。


posted @ 2006-08-24 21:29  pcvc  阅读(597)  评论(0编辑  收藏  举报