Поделиться через


Общие сведения о серверном веб-элементе управления DetailsView

Обновлен: Ноябрь 2007

Элемент управления DetailsView используется для отображения одной записи из источника данных, где каждая строка данных соответствует полю в записи. Он часто используется в сочетании с элементом управления GridView при использовании сценариев «основной/подробности».

В этом разделе рассматриваются следующие темы:

  • Основные сведения

  • Примеры кода

  • Ссылка на классы

Базовые сведения

Элемент управления DetailsView позволяет отображать, редактировать, вставлять или удалять одну запись за раз из связанного источника данных. По умолчанию элемент управления DetailsView отображает каждое поле записи в отдельной строке. Элемент управления DetailsView обычно используется для обновления и вставки новой записи, как правило в сценарии «основной/подробности», где выбранная запись основного элемента управления определяет запись, отображаемую в элементе управления DetailsView. Элемент управления DetailsView отображает только одну запись данных за раз, даже если источник данных отображает несколько записей.

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

Элемент управления DetailsView может автоматически пролистывать данные в связанном источнике данных при условии, что данные представлены объектом, поддерживающим интерфейс ICollection, или базовый источник данных поддерживает разбиение по страницам. Элемент управления DetailsView предоставляет пользовательский интерфейс для перемещения между записями данных. Чтобы включить разбиение по страницам, присвойте свойству AllowPaging значение true.

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

Привязка данных с использованием элемента управления DetailsView

Элемент управления DetailsView предоставляет следующие возможности привязки к данным:

  • Привязка данных с использованием свойства DataSourceID, позволяющего привязать элемент управления DetailsView к элементу управления источником данных. Рекомендуется использовать этот подход, поскольку он позволяет элементу управления DetailsView пользоваться функциональными возможностями элемента управления источником данных и обеспечивает встроенные функции обновления и разбиения по страницам.

  • Привязка данных с использованием свойства DataSource, позволяющего выполнять привязку к различным объектам, включая наборы данных ADO.NET и модули чтения данных. Для этого подхода необходимо создать код для обеспечения дополнительных функциональных возможностей, таких как обновление и разбиение по страницам.

При выполнении привязки к источнику данных с использованием свойства DataSourceID элемент управления DetailsView поддерживает двустороннюю привязку данных. Можно задать, чтобы, кроме автоматического отображения данных, элемент управления автоматически поддерживал операции вставки, обновления и удаления связанных данных.

Работа с данными элемента управления DetailsView

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

Чтобы включить редактирование, присвойте свойству AutoGenerateEditButton значение true. После этого элемент, кроме полей данных, управления DetailsView отображает кнопку Правка. При щелчке по кнопке Правка элемент управления DetailsView переходит в режим редактирования. В режиме редактирования значение свойства CurrentMode элемента управления DetailsView меняется с ReadOnly на Edit, а в каждом поле элемента управления отображается пользовательский интерфейс редактирования (например, текстовое поле или флажок). Можно также настроить пользовательский интерфейс редактирования, используя стили, объекты DataControlField и шаблоны.

s3w1w7t4.alert_note(ru-ru,VS.90).gifПримечание.

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

Можно настроить элемент управления DetailsView для отображения кнопок Удалить и Вставить для обеспечения возможности удаления соответствующей записи данных из источника данных или вставки новой записи данных. Аналогично свойству AutoGenerateEditButton, когда свойству AutoGenerateInsertButton присваивается значение true в элементе управления DetailsView отображается кнопка Создать. При щелчке по кнопке Создать значение свойства CurrentMode элемента управления DetailsView меняется на Insert. Элемент управления DetailsView отображает соответствующие элементы управления вводом пользовательского интерфейса для каждого связанного поля, если свойству InsertVisible привязанного поля не присвоено значение false.

Настройка пользовательского интерфейса элемента управления DetailsView

Элемент управления DetailsView поддерживает свойство коллекции Fields, содержащее объекты DataControlField типа BoundField, CommandField или HyperLinkField. Функционально она похожа на коллекцию Columns элемента управления GridView, но элемент управления DetailsView отображает каждое поле не в виде столбца, а в виде строки.

Как и в случае элемента управления GridView, можно настроить пользовательский интерфейс элемента управления DetailsView, используя такие свойства стиля, как свойства HeaderStyle, RowStyle, AlternatingRowStyle, CommandRowStyle, FooterStyle, PagerStyle и EmptyDataRowStyle.

Элемент управления DetailsView предлагает дополнительные возможности настройки с помощью шаблонов, что обеспечивает лучшие возможности управления отображением определенных элементов. Можно определить собственные свойства EmptyDataTemplate, HeaderTemplate, FooterTemplate и PagerTemplate для элемента управления DetailsView. Можно также создать шаблон для отдельного поля, добавив объект TemplateField к семейству Fields.

Элемент управления DetailsView отображает несколько событий, которые можно обрабатывать для выполнения собственного кода. Эти события создаются до и после операций вставки, обновления и удаления связанного элемента управления источником данных. Можно также создать обработчики для событий ItemCreated и ItemCommand. Дополнительные сведения см. в разделе События серверного веб-элемента управления DetailsView.

s3w1w7t4.alert_note(ru-ru,VS.90).gifПримечание.

Модель события элемента управления DetailsView аналогична модели события элемента управления GridView. Однако элемент управления DetailsView не поддерживает событие выбора, поскольку текущая запись всегда является выбранным элементом.

К началу

Примеры кода

Пошаговое руководство. Редактирование и вставка данных в веб-страницы с помощью серверного веб-элемента управления DetailsView

Пошаговое руководство. Извлечение, обновление, вставка и удаление данных с помощью элементов управления LinqDataSource и DetailsView

Разбиение по страницам в серверном веб-элементе управления DetailsView

Изменение данных с помощью серверного веб-элемент управления DetailsView

Создание настраиваемой строки в серверном веб-элементе управления DetailsView

К началу

Ссылка на классы

В следующей таблице перечислены ключевые классы, связанные с элементом управления DetailsView.

Член

Описание

DetailsView

Основной класс элемента управления.

К началу

См. также

Основные понятия

События серверного веб-элемента управления DetailsView

Общие сведения о доступе к данным в ASP.NET

Шаблоны серверных веб-элементов управления ASP.NET

Ссылки

Общие сведения о серверном веб-элементе управления GridView

Другие ресурсы

Доступ к данным с помощью ASP.NET