Разница между DataGrid и GridView в ASP.NET?
-
08-06-2019 - |
Вопрос
Я уже некоторое время занимаюсь ASP.NET разработкой, и раньше я использовал элементы управления GridView и DataGrid для разных целей, но я никогда не мог найти действительно веской причины использовать то или другое.Я хотел бы знать:
В чем разница между этими двумя ASP.NET элементами управления?Каковы преимущества или недостатки того и другого?Есть ли хоть один способ быстрее?Новее?Проще в обслуживании?
Сводка intellisense для элементов управления, похоже, не описывает никакой разницы между ними.Они оба могут просматривать, редактировать и сортировать данные и автоматически генерировать столбцы во время выполнения.
Редактировать: Visual Studio 2008 больше не перечисляет DataGrid в качестве доступного элемента управления в панели инструментов.Он все еще доступен (я полагаю, для устаревшей поддержки), если вы введете его вручную.
Решение
DataGrid был элементом управления ASP.NET 1.1, который все еще поддерживался.GridView появился в версии 2.0, упростил некоторые задачи, добавил различные функции привязки данных:
По этой ссылке приведено сравнение функций DataGrid и GridView -
https://msdn.microsoft.com/en-us/library/05yye6k9 (v=против 100).aspx
Другие советы
Тот Самый GridView
контроль является преемником DataGrid
контроль.Как в DataGrid
контроль, тот GridView
элемент управления был разработан для отображения данных в виде HTML-таблицы.При привязке к источнику данных DataGrid
и GridView
элементы управления, каждый из которых отображает строку из DataSource
в виде строки в выходной таблице.
Оба DataGrid
и GridView
элементы управления являются производными от WebControl
класс.Хотя он имеет объектную модель, аналогичную объектной модели DataGrid
кроме того, элемент управления GridView также обладает рядом новых функций и преимуществ по сравнению с DataGrid
контроль, который включает в себя:
- Более широкие возможности во время разработки.
- Улучшенные возможности привязки к источнику данных.
- Автоматическая обработка сортировки, разбиения на страницы, обновлений и удалений.
- Дополнительные типы столбцов и операции с столбцами во время разработки.
- Настраиваемый пользовательский интерфейс пейджера (UI) со свойством PagerTemplate.
Различия между GridView
контроль и DataGrid
контроль включает в себя:
- Различная поддержка пользовательской подкачки страниц.
- Различные модели событий.
Сортировка, разбиение на страницы и редактирование данных на месте требуют дополнительного кодирования при использовании DataGrid
контроль.Тот Самый GridView
control позволяет добавлять возможности сортировки, разбиения на страницы и редактирования без написания какого-либо кода.Вместо этого вы можете автоматизировать эти задачи наряду с другими распространенными задачами, такими как привязка данных к источнику данных, задав свойства элемента управления.
Сетка данных изначально была создана в .NET 1.0.GridView был представлен (и заменил DataGrid) в .NET 2.0.Они обеспечивают практически идентичную функциональность.
Если вы работаете в Visual Studio 2008 / .NET 3.5, вам, вероятно, не следует использовать ни то, ни другое.Используйте ListView - он предоставляет вам возможности GridView в сочетании с гибкостью стиля ретранслятора.
Ключевое отличие заключается в IIRC для управления ViewState.DataGrid требует, чтобы ViewState был включен, чтобы иметь возможности редактирования и сортировки.
Одним из ключевых отличий с точки зрения безопасности является то, что DataGrid использует BoundColumn, который не htmlкодирует связанные данные.Также нет свойства для включения или выключения HtmlEncoding, поэтому вам нужно как-то сделать это в коде.
GridView использует BoundField, который по умолчанию выполняет HtmlEncode для связанных данных и имеет свойство HtmlEncode, если вам нужно его отключить.
Сетка данных
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 и details view
элемент управления GridView также обладает рядом новых функций и преимуществ по сравнению с элементом управления DataGrid, которые включают:
· Более широкие возможности во время разработки.· Улучшенные возможности привязки к источнику данных.· Автоматическая обработка сортировки, разбиения на страницы, обновлений и удалений.· Дополнительные типы столбцов и операции с столбцами во время разработки.· Настраиваемый пользовательский интерфейс пейджера (UI) со свойством PagerTemplate.
Различия между элементом управления GridView и элементом управления DataGrid включают:· Различная поддержка пользовательской подкачки страниц.· Различные модели событий.
Одним из отличий является вывод HTML-кода.Datagrid будет выводить TD для заголовка, а gridview - TH.Это может привести к неинтуитивным изменениям на дисплее.