Разница между DataGrid и GridView в ASP.NET? - PullRequest
46 голосов
/ 07 августа 2008

Я уже некоторое время занимаюсь разработкой ASP.NET, и раньше я использовал элементы управления GridView и DataGrid для разных целей, но я никогда не мог найти действительно вескую причину для того или другого , Я хотел бы знать:

В чем разница между этими двумя элементами управления ASP.NET? Каковы преимущества или недостатки обоих? Один быстрее? Новее? Проще поддерживать?

Сводная информация по контрольным значениям для элементов управления, похоже, не описывает никакой разницы между ними. Они оба могут просматривать, редактировать и сортировать данные и автоматически генерировать столбцы во время выполнения.

Редактировать: Visual Studio 2008 больше не отображает DataGrid в качестве доступного элемента управления на панели инструментов. Он по-прежнему доступен (я полагаю, для устаревшей поддержки), если вы введете его вручную.

Ответы [ 9 ]

42 голосов
/ 07 августа 2008

DataGrid был элементом управления ASP.NET 1.1, все еще поддерживаемым. GridView появился в 2.0, упростил определенные задачи и добавил различные функции привязки данных:

Эта ссылка содержит сравнение функций DataGrid и GridView -

https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx

8 голосов
/ 20 февраля 2014

Элемент управления GridView является преемником элемента управления DataGrid. Как и элемент управления DataGrid, элемент управления GridView был разработан для отображения данных в таблице HTML. При привязке к источнику данных DataGrid и GridView управляют каждым отображением строки из DataSource в виде строки в выходной таблице.

Оба элемента управления DataGrid и GridView являются производными от класса WebControl. Хотя объектная модель аналогична модели элемента управления DataGrid, элемент управления GridView также обладает рядом новых функций и преимуществ по сравнению с элементом управления DataGrid, в том числе:

  • Более богатые возможности времени разработки.
  • Улучшены возможности привязки источника данных.
  • Автоматическая обработка сортировки, подкачки страниц, обновлений и удалений.
  • Дополнительные типы столбцов и операции со столбцами времени разработки.
  • Настраиваемый пользовательский интерфейс пейджера со свойством PagerTemplate.

Различия между элементами управления GridView и DataGrid включают:

  • Поддержка различных пользовательских страниц.
  • Различные модели событий.

Для сортировки, разбивки на страницы и редактирования данных на месте требуется дополнительное кодирование при использовании элемента управления DataGrid. Элемент управления GridView позволяет добавлять функции сортировки, подкачки и редактирования без написания кода. Вместо этого вы можете автоматизировать эти задачи наряду с другими распространенными задачами, такими как привязка данных к источнику данных, установив свойства в элементе управления.

7 голосов
/ 07 августа 2008

DataGrid изначально был в .NET 1.0. GridView был представлен (и заменил DataGrid) в .NET 2.0. Они обеспечивают практически идентичную функциональность.

5 голосов
/ 18 августа 2008

Если вы работаете в Visual Studio 2008 / .NET 3.5, вам, вероятно, не следует использовать также. Используйте ListView - он предоставляет вам функции GridView в сочетании с гибкостью стиля повторителя.

1 голос
/ 06 апреля 2019

DataGrid

  1. DataGrid было введено с Asp.Net 1.0.
  2. Для сортировки нам нужно обработать SortCommand event и перепривязать сетку требуется и для подкачки нам нужно обработать PageIndexChanged event и требуется перепривязать сетку.
  3. Необходимо написать код для реализации операций обновления и удаления.
  4. Не поддерживает функции автоматического форматирования или стиля.
  5. Быстродействие по сравнению с GridView.

GridView

  1. GridView был представлен с Asp.Net 2.0.
  2. Встроенные опоры для Paging and Sorting.
  3. Встроенная поддержка Update and Delete operations.
  4. Поддерживает функции автоматического форматирования или стиля.
  5. Производительность низкая по сравнению с DataGrid.

events и properties как Item изменилось на Row.

Например,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

  • e.Item.ItemType - e.Row.RowType

1 голос
/ 10 июля 2012

Одно ключевое отличие безопасности в том, что DataGrid использует BoundColumn, который не HtmlEncode связанных данных. Нет свойства для включения или выключения HtmlEncoding, поэтому вам нужно как-то сделать это в коде.

GridView использует BoundField, который по умолчанию выполняет HtmlEncode для связанных данных и имеет свойство HtmlEncode, если вам необходимо его отключить.

1 голос
/ 18 августа 2008

Ключевое отличие заключается в управлении ViewState IIRC. Для DataGrid требуется включить ViewState, чтобы иметь возможность редактирования и сортировки.

0 голосов
/ 05 апреля 2018

Одним из отличий является вывод HTML. Сетка данных выведет TD для заголовка, а сетка выведет TH. Это может вызвать неинтуитивные изменения на дисплее.

0 голосов
/ 21 ноября 2008

некоторые основные различия между сеткой и деталями

элемент управления GridView также обладает рядом новых функций и преимуществ по сравнению с элементом управления DataGrid, в том числе:

· Более богатые возможности времени разработки. · Улучшенные возможности привязки источника данных. · Автоматическая обработка сортировки, подкачки страниц, обновлений и удалений. · Дополнительные типы столбцов и операции со столбцами времени разработки. · Настраиваемый пользовательский интерфейс пейджера со свойством PagerTemplate.

Различия между элементом управления GridView и элементом управления DataGrid: · Поддержка различных пользовательских страниц. · Различные модели событий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...