Разница между DataGrid и GridView в ASP.NET?
Я занимаюсь разработкой ASP.NET уже некоторое время, и раньше я использовал элементы управления GridView и DataGrid для различных вещей, но я так и не смог найти действительно вескую причину для использования того или другого. Я хотел бы знать:
В чем разница между этими двумя элементами управления ASP.NET? Каковы преимущества и недостатки обоих? Один быстрее? Новее? Легче поддерживать?
Сводка intellisense для элементов управления, похоже, не описывает никакой разницы между ними. Они оба могут просматривать, редактировать и сортировать данные, а также автоматически создавать столбцы во время выполнения.
Изменить: Visual Studio 2008 больше не указывает DataGrid как доступный элемент управления на панели инструментов. Он по-прежнему доступен (я полагаю, для поддержки устаревших версий), если вы введете его вручную.
Ответов (9)9
DataGrid был элементом управления ASP.NET 1.1, который все еще поддерживается. GridView появился в версии 2.0, упростил некоторые задачи и добавил различные функции привязки данных:
Эта ссылка содержит сравнение функций DataGrid и GridView -
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
Элемент GridView
управления является преемником элемента DataGrid
управления. Как и DataGrid
элемент управления, GridView
элемент управления был разработан для отображения данных в таблице HTML. При привязке к источнику данных каждый элемент управления DataGrid
и GridView
отображает строку из a DataSource
как строку в выходной таблице.
Оба , DataGrid
и средства GridView
управления являются производными от WebControl
класса. Хотя он имеет объектную модель, аналогичную модели элемента DataGrid
управления, элемент управления GridView также имеет ряд новых функций и преимуществ по сравнению с элементом DataGrid
управления, в том числе:
- Более широкие возможности во время разработки.
- Улучшенные возможности привязки источников данных.
- Автоматическая обработка сортировки, разбиения по страницам, обновлений и удалений.
- Дополнительные типы столбцов и операции с столбцами во время разработки.
- Настраиваемый пользовательский интерфейс (UI) пейджера со свойством PagerTemplate.
Различия между элементом GridView
управления и элементом DataGrid
управления включают:
- Поддержка различных настраиваемых страниц.
- Различные модели событий.
Сортировка, разбиение по страницам и редактирование данных на месте требует дополнительного кодирования при использовании элемента DataGrid
управления. Этот GridView
элемент управления позволяет добавлять возможности сортировки, разбиения по страницам и редактирования без написания кода. Вместо этого вы можете автоматизировать эти задачи вместе с другими общими задачами, такими как привязка данных к источнику данных, путем установки свойств в элементе управления.
Одно из ключевых отличий с точки зрения безопасности заключается в том, что DataGrid использует BoundColumn, который не HtmlEncode для привязанных данных. Также нет свойства для включения или выключения HtmlEncoding, поэтому вам нужно как-то сделать это в коде.
GridView использует BoundField, который по умолчанию выполняет HtmlEncode для связанных данных и имеет свойство HtmlEncode, если вам нужно его отключить.
DataGrid
DataGrid
был представлен сAsp.Net 1.0
.- Для сортировки нам нужно обработать
SortCommand event
и перепривязать требуемую сетку, а для разбиения поPageIndexChanged event
страницам нам нужно обработать и перепривязать требуемую сетку. - Необходимо написать код для реализации операций обновления и удаления.
- Не поддерживает функции автоматического форматирования или стиля.
- Производительность высокая по сравнению с
GridView
.
Вид сетки
- GridView был представлен в
Asp.Net 2.0
. - Встроенная поддержка
Paging and Sorting
. - Встроенная поддержка
Update and Delete operations
. - Поддерживает функции автоматического формата или стиля.
- Производительность медленная по сравнению с
DataGrid
.
То events
и properties
вроде Item
изменилось как Row
.
Например,
ItemCommand - RowCommand
ItemDataBound - RowDataBound
e.Item.ItemType - e.Row.RowType
некоторые базовые различия между представлением сетки и подробным представлением
Элемент управления GridView также имеет ряд новых функций и преимуществ по сравнению с элементом управления DataGrid, в том числе:
· Более широкие возможности во время разработки. · Улучшенные возможности привязки источников данных. · Автоматическая обработка сортировки, разбиения по страницам, обновлений и удалений. · Дополнительные типы столбцов и операции с столбцами во время разработки. · Настраиваемый пользовательский интерфейс (UI) пейджера со свойством PagerTemplate.
Различия между элементом управления GridView и элементом управления DataGrid включают: · Различная поддержка настраиваемого разбиения по страницам. · Различные модели событий.