《(学习笔记)两天进步一点点》(4)——DataTable 与 DataView

 

  •  

      DataView 定义:  表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。

      构造函数列表:

      名称

      说明

      DataView()

      初始化 DataView 类的新实例。

      DataView(DataTable)

      用指定的 DataTable 初始化 DataView 类的新实例。

      DataView(DataTable, String, String, DataViewRowState)

      用指定的 DataTable、RowFilter、Sort 和 DataViewRowState 初始化 DataView 类的新实例。

       

       DataView:

      常见方法:

       

       

      AddNew

      将新行添加到 DataView 中。

          DataRowView rowView = view.AddNew();
          rowView["ColumnName"] = "New value";
          rowView.EndEdit();

      Delete

      删除指定索引位置的行。

       

      ToTable

       根据现有 DataView 中的行,创建并返回一个新的ataTable。

      ToTable()

      ToTable(String)

      ToTable(Boolean, String[])

      ToTable(String, Boolean, String[])

      tableName:新表的表名
      Boolean :指示是否包含重复的数据行
      String[]:包含返回的Table的列名,DataTable 包含指定的列,其顺序与这些列在该数组中的顺序相同。

      常用属性

       

       

       

      DataView.Count

      在应用 RowFilter 和 RowStateFilter 之后,获取 DataView 中记录的数量。

       

      RowFilter

      获取或设置用于筛选在 DataView 中查看哪些行的表达式。

      (1)若要形成 RowFilter 值,请指定列的名称,后跟一个运算符和一个要筛选的值。该值必须用引号括起来。例如: "LastName = 'Smith'
      (2)若要只返回那些具有 null 值的列,请使用以下表达式:

      "Isnull(Col1,'Null Column') = 'Null Column'"

      RowStateFilter

      获取或设置用于 DataView 中的行状态筛选器。

       

      Sort

      获取或设置 DataView 的一个或多个排序列以及排序顺序。

      一个字符串,它包含列名,后跟“ASC”(升序)或“DESC”(降序)。在默认情况下列按升序排序。多个列可用逗号隔开

      Table

      获取或设置源 DataTable。

       

       

       

       

       

       

  • ////******************************************DataTable常用方法********************************************************////

    常用方法

    注释

    备注

    AcceptChanges

    提交自上次调用 AcceptChanges 以来对该表进行的所有更改

     

    Clone

    克隆 DataTable 的结构,包括所有 DataTable 架构和约束。

     

    Copy

    复制该 DataTable 的结构和数据。

    Copy 和 Clone 方法创建的新 DataTable 都与原始 DataTable 具有相同的结构。Copy 方法创建的新 DataTable 与原始表具有相同的 DataRows 集,但 Clone 方法创建的新 DataTable 不包含任何 DataRows

    CreateDataReader

    返回与此 DataTable 中的数据相对应的DataTableReader。

     

    GetChanges

    已重载。 获取 DataTable 的副本,该副本包含自上次加载以来或自调用 AcceptChanges 以来对该数据集进行的所有更改。

    名称

    说明

    GetChanges()

    获取 DataTable 的副本,该副本包含自加载以来或自上次调用 AcceptChanges 以来对该数据集进行的所有更改。

    GetChanges(DataRowState)

    获取由 DataRowState 筛选的 DataTable 的副本,该副本包含上次加载以来或调用 AcceptChanges 以来对该数据集进行的所有更改。

    ImportRow

    将 DataRow 复制到 DataTable 中,保留任何属性设置以及初始值和当前值。

     

    Load

    已重载。 通过所提供的 IDataReader,用某个数据源的值填充 DataTable。如果 DataTable 已经包含行,则从数据源传入的数据将与现有的行合并。

     

    Merge

    已重载。 将指定的 DataTable 与当前的 DataTable 合并。

    名称

    说明

    Merge(DataTable)

    将指定的 DataTable 与当前的 DataTable 合并。

    Merge(DataTable, Boolean)

    将指定的 DataTable 与当前的 DataTable 合并,指示是否在当前的 DataTable 中保留更改。

    Merge(DataTable, Boolean, MissingSchemaAction)

    将指定的 DataTable 与当前的 DataTable 合并,指示是否在当前的 DataTable 中保留更改以及如何处理缺失的架构。

    NewRow

    创建与该表具有相同架构的新 DataRow。

     

    ReadXml

    已重载。 将 XML 架构和数据读入 DataTable。

    名称

    说明

    ReadXml(Stream)

    使用指定的 Stream 将 XML 架构和数据读入 DataTable。

    ReadXml(String)

    将指定文件中的 XML 架构和数据读入 DataTable 中。

    ReadXml(TextReader)

    使用指定的 TextReader 将 XML 架构和数据读入 DataTable。

    ReadXml(XmlReader)

    使用指定的 XmlReader 将 XML 架构和数据读入 DataTable。

    RejectChanges

    回滚自该表加载以来或上次调用 AcceptChanges 以来对该表进行的所有更改。

     

    Reset

    将 DataTable 重置为其初始状态。

     

    WriteXml

    已重载。 将 DataTable 的当前内容以 XML 格式写入。

    详细内容见下:

     

     

     

    名称

    说明

    WriteXml(Stream)

    使用指定的 Stream 以 XML 格式写入 DataTable 的当前内容。

    WriteXml(String)

    使用指定的文件以 XML 格式写入 DataTable 的当前内容。

    WriteXml(TextWriter)

    使用指定的 TextWriter 以 XML 格式写入 DataTable 的当前内容。

    WriteXml(XmlWriter)

    使用指定的 XmlWriter 以 XML 格式写入 DataTable 的当前内容。

    WriteXml(Stream, Boolean)

    使用指定的 Stream 以 XML 格式写入 DataTable 的当前内容。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(Stream, XmlWriteMode)

    使用指定的 XmlWriteMode 将 DataTable 的当前数据写入指定的文件,还可以选择将架构写入指定的文件。若要写架构,请将 mode 参数的值设置为 WriteSchema

    WriteXml(String, Boolean)

    使用指定的文件以 XML 格式写入 DataTable 的当前内容。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(String, XmlWriteMode)

    使用指定的文件和 XmlWriteMode,写入 DataTable 的当前数据(还可以选择写入架构)。若要写架构,请将 mode 参数的值设置为 WriteSchema

    WriteXml(TextWriter, Boolean)

    使用指定的 TextWriter 以 XML 格式写入 DataTable 的当前内容。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(TextWriter, XmlWriteMode)

    使用指定的 TextWriter 和 XmlWriteMode 为 DataTable 写当前数据,还可以选择写架构。若要写架构,请将 mode 参数的值设置为 WriteSchema

    WriteXml(XmlWriter, Boolean)

    使用指定的 XmlWriter 以 XML 格式写入 DataTable 的当前内容。

    WriteXml(XmlWriter, XmlWriteMode)

    使用指定的 XmlWriter 和 XmlWriteMode 为 DataTable 写当前数据,还可以选择写架构。若要写架构,请将 mode 参数的值设置为 WriteSchema

    WriteXml(Stream, XmlWriteMode, Boolean)

    使用指定的 XmlWriteMode 将 DataTable 的当前数据写入指定的文件,还可以选择将架构写入指定的文件。若要写架构,请将 mode 参数的值设置为 WriteSchema。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(String, XmlWriteMode, Boolean)

    使用指定的文件和 XmlWriteMode,写入 DataTable 的当前数据(还可以选择写入架构)。若要写架构,请将 mode 参数的值设置为 WriteSchema。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(TextWriter, XmlWriteMode, Boolean)

    使用指定的 TextWriter 和 XmlWriteMode 为 DataTable 写当前数据,还可以选择写架构。若要写架构,请将 mode 参数的值设置为 WriteSchema。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true

    WriteXml(XmlWriter, XmlWriteMode, Boolean)

    使用指定的 XmlWriter 和 XmlWriteMode 为 DataTable 写当前数据,还可以选择写架构。若要写架构,请将 mode 参数的值设置为 WriteSchema。若要保存该表及其所有子代的数据,请将 writeHierarchy 参数设置为 true




    ////**********************************************
    DataTable 属性***************************************************////

    Columns

    获取属于该表的列的集合。

     

    DefaultView

    获取可能包括筛选视图或游标位置的表的自定义视图。

    DataView类型

    RemotingFormat

    获取或设置序列化格式。

    枚举,默认值为XML,在ADO.NET 2.0中也可以为二进制内容。

    Rows

    获取属于该表的行的集合。

     

    TableName

    获取或设置 DataTable 的名称。

     

     

     

     

     

    ***************************************************************DataView*********************************************************************

     



你可能感兴趣的:(Datatable)