.NET DataTable、DataSet 和 DataGrid 实战指南 - 第一部分
本文档旨在提供使用 Microsoft .NET DataTables、DataSets 和 DataGrid 的实用指南
Copyright
![]() |
本文档内容可以自由复制和传播,条件是文档保留对 BioXing、作者及其版权声明的引用。此外,未经 BioXing 及其作者事先许可,不得将本文档或其任何部分纳入商业产品。BioXing 保留对本文档进行商业使用的所有权利。 |
目录
- 1 引言
- 2 概述
- 3 表格
- 3.1 表格创建
- 3.2 列 - 在表格中创建和添加
- 3.3 删除/移除列
- 3.4 修改列属性
- 3.5 清空列集合
- 3.6 克隆表格
- 3.7 行 - 在表格中创建和添加
- 3.8 修改现有表格行中的数据
- 3.9 使用 LoadDataRow() 方法填充表格
- 3.10 检索表格内容
- 3.11 行版本和接受/拒绝更改
- 3.11.1 方法和枚举
- 3.11.2 示例 1 - 行状态
- 3.11.3 示例 2 - 表格的初始加载
- 3.11.4 示例 3 - DataRow AcceptChanges
- 3.11.5 示例 4 - Table AcceptChanges
- 3.11.6 示例 5 - DataRow BeginEdit
- 3.11.7 示例 6 - DataRow CancelEdit
- 3.11.8 示例 7 - DataRow BeginEdit - 示例
- 3.11.9 示例 8 - DataRow 更改值 - 示例
- 3.11.10 示例 9 - DataRow EndEdit - 已修改的行
- 3.11.11 示例 10 - DataRow AcceptChanges 已修改的行
- 3.11.12 示例 11 - DataRow RejectChanges
- 3.11.13 示例 12 - 在表格没有主键的情况下使用 LoadDataRow
- 3.11.14 示例 13 - 在有主键的表格中使用 LoadDataRow
- 3.11.15 获取版本和状态信息的示例代码
- 3.12 处理 DataTable 错误
- 3.13 DataTable 事件
- 4 数据集
- 4.1 DataSet 方法
- 4.2 DataSet 属性
- 4.3 加载 DataSet
- 4.3.1 从表格加载
- 4.3.2 从数据库加载
- 4.3.2.1 方法 1 - sqlDataAdapter
- 4.3.2.2 方法 2 - sqlDataReader
- 4.4 关联表格
- 4.5 数据集中的关联表格
- 4.5.1 填充
- 4.5.2 删除
- 4.6 XML 导出和导入 DataSet 数据
- 4.6.1 WriteXml
- 4.6.2 ReadXml
- 4.7 处理 DataSet 错误
- 4.8 使用 DataSet/DataTable 更改更新数据库
- 5 Data Grid
- 5.1 方法和属性
- 5.2 分配数据源
- 5.3 格式化
- 5.3.1 DataGridTableStyle - WinForms
- 5.3.2 仅更改单个表格的 DataGridTableStyles
- 5.3.3 更改表格 DataGridTableStyle 中的单个列
- 5.3.3.1 方法 1 - 循环遍历集合
- 5.3.3.2 方法 2 - 使用列字符串名称直接访问
- 5.3.4 为基于数据的表格创建 DataGridTableStyle
- 5.3.5 通过 Visual Studio .NET IDE 定义 DataGridTableStyles
- 5.4 导航
- 5.4.1 CurrencyManager
- 5.4.2 CurrentCell
- 5.4.3 选择行
- 5.4.4 展开和折叠关联表格
- 5.5 将 DataGrid 复制到剪贴板
- 5.5.1 将 DataGrid 中选定的表格复制到剪贴板
- 5.5.2 将 DataGrid 中的所有表格复制到剪贴板
- 5.5.3 将表格数据格式化为字符串
- 5.6 导出到制表符分隔的文本文件
- 5.7 克隆 DataGrid 中包含的表格
- 5.8 WinForms 和 WebForms 的比较
- 5.8.1 WinForms
- 5.8.2 WebForms
- 5.8.2.1 编辑行
- 5.8.2.2 取消编辑行
- 5.8.2.3 输入新行
- 5.8.2.4 更新行
- 5.8.2.5 设置单元格样式值
- 6 参考资料
1 引言
本文档旨在提供一份关于使用 Microsoft .NET DataTables
、DataSets
和 DataGrid
的实用指南。大多数文章都演示了如何将 DataGrid
直接绑定到数据库中的表格,虽然这是使用 DataGrid 的绝佳方式,但它也能够以编程方式创建和管理不绑定到数据库的表格和由这些表格组成的数据集。Microsoft 的实现提供了丰富的语法来填充和访问表格中的行及其单元格,管理表格、列、行和表格样式的集合,以及管理插入、更新、删除和事件。Microsoft 的 Visual Studio .NET 开发环境为这些类提供了详细的解释和代码示例,这对于快速参考方法或属性非常有用,但对于理解它们如何协同工作并在应用程序中使用则不然。
本文将介绍创建和管理绑定和非绑定表格及数据集的不同方法,并将它们绑定到 DataGrids
供 WebForms 和 WinForms 使用。还将介绍 DataGrid 根据其位于 WebForm 还是 WinForm 中而表现出的不同行为。此外,还将介绍将 DataGrid
内容复制到剪贴板、XML 导入导出以及打印。在最后一节中将讨论将 DataGrid
内容与图形对象中的功能关联以提供交互式 UI 的技术。
本文的意图不是成为构建表格、数据集和 DataGrid 所用类的所有方法和成员的完整参考,而是系统地说明如何使用它们的基本方法和属性来构建和管理它们。本文还将展示处理这些实体的等效方法,以说明编程的灵活性。一旦构建了表格,就可以将它们添加到数据库和/或轻松提取内容来更新现有的数据库表格。
使用 DataTable 类创建的表格的结构和特性是使用 DataGrid 的核心;因此,将首先介绍它。接下来将介绍管理独立表格和关联表格集合的 DataSet,然后介绍显示其表格和数据集并提供交互式 UI 的 DataGrid。所有示例代码将用 C# 编写,并将使用周期表及其元素和同位素作为模型和数据源。
2 概述
图 1 是 DataGrid
、DataGridTableStyles
、DataSets
和 DataTables
之间基本关系及其各种方法和属性的汇总视图。本文将深入探讨每个组件的细节,描述如何创建它们、如何用数据填充它们以及它们如何协同工作,从而更清晰地理解这个关系图。

图 1 DataGrid、DataSet 和 DataTable 关系图