Windows 窗体 DataGridView 控件和 DataGrid 控件之间的区别

DataGridView 控件是用于替换 DataGrid 控件的新控件。 DataGridView 控件提供了 DataGrid 控件中缺少的许多基本功能和高级功能。 此外,DataGridView 控件的体系结构使其比 DataGrid 控件更易于扩展和自定义。

下表介绍了 DataGridView 控件中提供的但在 DataGrid 控件中缺少的一些主要功能。

DataGridView 控件功能 说明
多个列类型 DataGridView 控件提供了比 DataGrid 控件更多的内置列类型。 这些列类型可满足大多数常见方案的需求,但也比 DataGrid 控件中的列类型更易于扩展或替换。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件中的列类型
多种方式显示数据 DataGrid 控件仅限于显示来自外部数据源的数据。 但是,DataGridView 控件可以显示存储在控件中的未绑定数据、来自绑定数据源的数据或一起显示绑定和未绑定数据。 还可以在 DataGridView 控件中实现虚拟模式以提供自定义数据管理。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件中的数据显示模式
多种方式自定义数据显示 DataGridView 控件提供了许多属性和事件,使你能够指定数据的格式设置和显示方式。 例如,可以根据包含的数据更改单元格、行和列的外观,也可以将一种数据类型的数据替换为等效的其他类型的数据。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件中的数据格式设置
用于更改单元格、行、列和标题外观和行为的多个选项 DataGridView 控件使你能够以多种方式使用单个网格组件。 例如,可以冻结行和列以防止它们滚动;隐藏行、列和标题;更改调整行、列和标题大小的方式;更改用户进行选择的方式;为单个单元格、行和列提供工具提示和快捷菜单。

保留 DataGrid 控件以实现后向兼容性和满足特殊需求。 对于几乎所有目的,都应使用 DataGridView 控件。 在 DataGrid 控件中可用,但在 DataGridView 控件中不可用的唯一功能是在单个控件中分层显示来自两个相关表的信息。 必须使用两个 DataGridView 控件来显示两个处于大纲/细节关系的表中的信息。

升级为 DataGridView 控件

如果现有应用程序在不包含自定义项的简单数据绑定方案中使用 DataGrid 控件,则可以简单地用新控件替换旧控件。 这两个控件都使用标准的 Windows 窗体数据绑定体系结构,因此 DataGridView 控件将显示绑定数据,而无需进行额外的配置。 但是,你可能需要考虑利用数据绑定改进,将数据绑定到 BindingSource 组件,然后可以将其绑定到 DataGridView 控件。 有关详细信息,请参阅 BindingSource 组件

由于 DataGridView 控件具有全新的体系结构,因此没有直接的转换路径可以让你将 DataGrid 自定义项与 DataGridView 控件一起使用。 然而,对于 DataGridView 控件,许多 DataGrid 自定义项是不必要的,因为新控件中提供了内置功能。 如果已为要与 DataGridView 控件一起使用的 DataGrid 控件创建了自定义列类型,则必须使用新体系结构再次实现它们。 有关详细信息,请参阅自定义 Windows 窗体 DataGridView 控件

另请参阅