DataGridView 控件是替换 DataGrid 控件的新控件。DataGridView 控件提供了 DataGrid 控件中没有的许多基本功能和高级功能。此外,DataGridView 控件的结构使得它比 DataGrid 控件更容易扩展和自定义。




DataGridView 控件和 DataGrid 控件之间的区别


2009-04-14 23:50



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




​DataGridView​​ 控件是替换 ​​DataGrid​​ 控件的新控件。DataGridView 控件提供了 DataGrid 控件中没有的许多基本功能和高级功能。此外,DataGridView 控件的结构使得它比 DataGrid 控件更容易扩展和自定义。

下表描述 DataGridView 控件中提供而 DataGrid 控件中未提供的几个主要功能。


DataGridView 控件功能

说明


多种列类型



与 DataGrid 控件相比,DataGridView 控件提供了更多的内置列类型。这些列类型能满足大多数常见方案的需要,而且比 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 控件的直接转换路径。但是,由于新控件提供了内置功能,许多 DataGrid 自定义对 DataGridView 控件来说是不必要的。如果您已为DataGrid 控件创建了自定义列类型并想要将这些类型用于 DataGridView 控件,则必须使用新结构重新实现它们。有关更多信息,请参见​​自定义 Windows 窗体 DataGridView 控件​​。