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

DataGridView — это новый элемент управления, который пришел на смену DataGrid. Элемент управления DataGridView предоставляет множество базовых и расширенных возможностей, которых нет у элемента управления DataGrid. Кроме того, архитектура элемента управления DataGridView значительно упрощает его расширение и настройку по сравнению с DataGrid.

В таблице ниже описываются некоторые основные возможности, которые имеются у элемента управления DataGridView, но отсутствуют у элемента управления DataGrid.

Возможность элемента управления DataGridView Description
Различные типы столбцов Элемент управления DataGridView предоставляет больше встроенных типов столбцов, чем элемент управления DataGrid. Эти типы столбцов отвечают потребностям большинства распространенных сценариев. Их также проще расширять и заменять, чем типы столбцов элемента управления DataGrid. Дополнительные сведения см. в статье Типы столбцов элемента управления DataGridView в Windows Forms.
Различные способы отображения данных Элемент управления DataGrid ограничен отображением данных из внешнего источника данных. В свою очередь, элемент управления DataGridView позволяет отображать непривязанные данные, хранящиеся в нем самом, данные из привязанного источника данных или привязанные и непривязанные данные вместе. В элементе управления DataGridView можно также реализовать виртуальный режим, чтобы обеспечить пользовательское управление данными. Дополнительные сведения см. в разделе Режимы отображения данных в элементе управления DataGridView в Windows Forms.
Различные способы настройки отображения данных Элемент управления DataGridView предоставляет множество свойств и событий, позволяющих настраивать форматирование и отображение данных. Например, можно изменять внешний вид ячеек, строк и столбцов в зависимости от содержащихся в них данных или заменять данные одного типа эквивалентными данными другого типа. Дополнительные сведения см. в статье Форматирование данных в элементе управления DataGridView в Windows Forms.
Различные варианты изменения внешнего вида и поведения ячеек, строк, столбцов и заголовков Элемент управления DataGridView позволяет работать с отдельными компонентами сетки различными способами. Например, можно закреплять строки и столбцы, чтобы они не прокручивались, скрывать строки, столбцы и заголовки, изменять способ настройки размера строк, столбцов и заголовков, изменять способ выбора данных пользователями и предоставлять подсказки и контекстные меню для отдельных ячеек, строк и столбцов.

Элемент управления DataGrid сохраняется в целях обратной совместимости и для особых потребностей. Почти во всех целях следует использовать элемент управления DataGridView. Единственной возможностью, которая есть у элемента управления DataGrid, но который нет в DataGridView, является иерархическое отображение сведений из двух связанных таблиц в одном элементе управления. Для отображения сведений из двух таблиц, которые находятся в отношении "основные — подробные сведения", необходимо использовать два элемента управления DataGridView.

Обновление до элемента управления DataGridView

Если у вас есть приложения, в которых элемент управления DataGrid используется в простом режиме привязки к данным без настроек, можно просто заменить его на новый элемент управления. Оба элемента управления используют стандартную архитектуру привязки к данным Windows Forms, поэтому привязанные данные будут отображаться в элементе управления DataGridView без дополнительной настройки. Однако вы можете воспользоваться улучшенными возможностями привязки данных, привязав данные к компоненту BindingSource, который затем можно привязать к элементу управления DataGridView. Дополнительные сведения см. в описании компонента BindingSource.

Так как элемент управления DataGridView имеет совершенно новую архитектуру, не существует простого преобразования, позволяющего использовать настройки DataGrid с элементом управления DataGridView. Однако многие настройки DataGrid при использовании нового элемента управления DataGridView не нужны из-за доступных в нем встроенных возможностей. Если вы создали для элемента управления DataGrid пользовательские типы столбцов, которые хотите использовать с элементом управления DataGridView, необходимо будет снова реализовать их с помощью новой архитектуры. Дополнительные сведения см. в статье Настройка элемента управления DataGridView в Windows Forms.

См. также