Различия элементов управления DataGridView и DataGrid в Windows FormsDifferences Between the Windows Forms DataGridView and DataGrid Controls

Элемент управления DataGridView — это новый элемент управления, который заменяет элемент управления DataGrid.The DataGridView control is a new control that replaces the DataGrid control. Элемент управления DataGridView предоставляет множество основных и дополнительных функций, отсутствующих в элементе управления DataGrid.The DataGridView control provides numerous basic and advanced features that are missing in the DataGrid control. Кроме того, архитектура элемента управления DataGridView значительно упрощает его расширение и настройку, чем элемент управления DataGrid.Additionally, the architecture of the DataGridView control makes it much easier to extend and customize than the DataGrid control.

В следующей таблице описаны некоторые основные функции, доступные в элементе управления DataGridView, отсутствующие в элементе управления DataGrid.The following table describes a few of the primary features available in the DataGridView control that are missing from the DataGrid control.

Функция элемента управления DataGridViewDataGridView control feature DescriptionDescription
Несколько типов столбцовMultiple column types Элемент управления DataGridView предоставляет больше встроенных типов столбцов, чем элемент управления DataGrid.The DataGridView control provides more built-in column types than the DataGrid control. Эти типы столбцов отвечают потребностям наиболее распространенных сценариев, но их также легче расширять или заменять, чем типы столбцов в элементе управления DataGrid.These column types meet the needs of most common scenarios, but are also easier to extend or replace than the column types in the DataGrid control. Дополнительные сведения см. в разделе Типы столбцов в элементе управления Windows Forms DataGridView.For more information, see Column Types in the Windows Forms DataGridView Control.
Несколько способов отобразить данныеMultiple ways to display data Элемент управления DataGrid ограничен отображением данных из внешнего источника данных.The DataGrid control is limited to displaying data from an external data source. Однако элемент управления DataGridView может отображать несвязанные данные, хранящиеся в элементе управления, данные из привязанного источника данных, а также связанные и непривязанные данные.The DataGridView control, however, can display unbound data stored in the control, data from a bound data source, or bound and unbound data together. Можно также реализовать виртуальный режим в элементе управления DataGridView, чтобы обеспечить пользовательское управление данными.You can also implement virtual mode in the DataGridView control to provide custom data management. Дополнительные сведения см. в разделе Режимы вывода данных в элементе управления Windows Forms DataGridView.For more information, see Data Display Modes in the Windows Forms DataGridView Control.
Различные способы настройки представления данныхMultiple ways to customize the display of data Элемент управления DataGridView предоставляет множество свойств и событий, которые позволяют указать способ форматирования и отображения данных.The DataGridView control provides many properties and events that enable you to specify how data is formatted and displayed. Например, можно изменить внешний вид ячеек, строк и столбцов в зависимости от содержащихся в них данных, а также заменить данные одного типа данными эквивалентными данными другого типа.For example, you can change the appearance of cells, rows, and columns depending on the data they contain, or you can replace data of one data type with equivalent data of another type. Дополнительные сведения см. в разделе Форматирование данных в элементе управления Windows Forms DataGridView.For more information, see Data Formatting in the Windows Forms DataGridView Control.
Несколько параметров для изменения внешнего вида и поведения ячеек, строк, столбцов и заголовковMultiple options for changing cell, row, column, and header appearance and behavior Элемент управления DataGridView позволяет работать с отдельными компонентами сетки множеством способов.The DataGridView control enables you to work with individual grid components in numerous ways. Например, можно заморозить строки и столбцы, чтобы предотвратить их прокрутку. Скрытие строк, столбцов и заголовков; изменение способа корректировки размеров строк, столбцов и заголовков; изменение способа выбора пользователями. и предоставляют подсказки и контекстные меню для отдельных ячеек, строк и столбцов.For example, you can freeze rows and columns to prevent them from scrolling; hide rows, columns, and headers; change the way row, column, and header sizes are adjusted; change the way users make selections; and provide ToolTips and shortcut menus for individual cells, rows, and columns.

Элемент управления DataGrid сохраняется для обеспечения обратной совместимости и специальных потребностей.The DataGrid control is retained for backward compatibility and for special needs. Для практически всех целей следует использовать элемент управления DataGridView.For nearly all purposes, you should use the DataGridView control. Единственная функция, доступная в элементе управления DataGrid, которая недоступна в элементе управления DataGridView, является иерархическим отображением информации из двух связанных таблиц в одном элементе управления.The only feature that is available in the DataGrid control that is not available in the DataGridView control is the hierarchical display of information from two related tables in a single control. Для отображения сведений из двух таблиц, которые находятся в связях "основной/подробности", необходимо использовать два элемента управления DataGridView.You must use two DataGridView controls to display information from two tables that are in a master/detail relationship.

Обновление элемента управления DataGridViewUpgrading to the DataGridView Control

При наличии существующих приложений, использующих элемент управления DataGrid в простом сценарии с привязкой к данным без настроек, можно просто заменить старый элемент управления новым.If you have existing applications that use the DataGrid control in a simple data-bound scenario without customizations, you can simply replace the old control with the new control. Оба элемента управления используют стандартную Windows Forms архитектуру привязки данных, поэтому элемент управления DataGridView будет отображать привязанные данные без дополнительной настройки.Both controls use the standard Windows Forms data-binding architecture, so the DataGridView control will display your bound data with no additional configuration needed. Однако можно рассмотреть возможность использования улучшений привязки данных, но привяжите данные к BindingSource компоненту, который затем можно привязать к элементу управления DataGridView.You might want to consider taking advantage of data-binding improvements, however, by binding your data to a BindingSource component, which you can then bind to the DataGridView control. Дополнительные сведения см. в разделе компонент BindingSource.For more information, see BindingSource Component.

Поскольку элемент управления DataGridView имеет совершенно новую архитектуру, нет прямого пути преобразования, который позволит использовать настройки DataGrid с элементом управления DataGridView.Because the DataGridView control has an entirely new architecture, there is no straightforward conversion path that will enable you to use DataGrid customizations with the DataGridView control. Однако многие настройки DataGrid не являются обязательными для элемента управления DataGridView, поскольку доступны встроенные функции нового элемента управления.Many DataGrid customizations are unnecessary with the DataGridView control, however, because of the built-in features available in the new control. Если вы создали пользовательские типы столбцов для элемента управления DataGrid, который вы хотите использовать с элементом управления DataGridView, потребуется реализовать их снова с помощью новой архитектуры.If you have created custom column types for the DataGrid control that you want to use with the DataGridView control, you will have to implement them again using the new architecture. Дополнительные сведения см. в разделе Настройка элемента управления Windows Forms DataGridView.For more information, see Customizing the Windows Forms DataGridView Control.

См. также разделSee also