Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Элементы управления, использующие привязку данных. Редактирование элементов. Сортировка. Разбивка на страницы



Серверные веб-элементы управления ASP.NET с привязкой к данным предоставляют пользовательский интерфейс (UI) для источника данных, представляющий коллекцию записей или элементов. Серверные элементы управления GridView, DataList и Repeater являются примерами веб-серверных элементов управления с привязкой к данным.

GridView

Можно использовать элемент управления GridView для выполнения следующих задач.

Автоматическая привязка и отображение данных из элемента управления источника данных.

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

Помимо этого, внешний вид и поведение элемента управления GridView можно изменять следующими способами:

Определять настраиваемые столбцы и стили.

Использовать шаблоны для создания настраиваемых элементов интерфейса пользователя (UI).

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

Элемент управления GridView допускает два способа привязки к данным:

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

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

В следующем примере показано использование элемента управления GridView для отображения значений таблицыCustomers из примера базы данных AdventureWorksLT на Microsoft SQL Server.Значения извлекаются с помощью элемента управления SqlDataSource.

По умолчанию элемент управления GridView отображает данные в режиме «только для чтения».Тем не менее, элемент управления также поддерживает режим редактирования, в котором строка отображается с помощью таких элементов управления, допускающих редактирование, как TextBox или CheckBox.Элемент управления GridView также можно настроить на отображение кнопки Delete, которая позволяет удалить соответствующую запись из источника данных.

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

В следующем примере показано использование элементов управления GridView и LinqDataSource для редактирования записей

Элемент управления GridView поддерживает сортировку содержимого по одному столбцу без создания дополнительного кода.Можно настроить функциональные возможности сортировки элемента управления GridView путем обработки события сортировки, предоставления выражения сортировки или применения стиля CSS к столбцу, по которому сортируются данные.Свойства SortedAscendingHeaderStyle, SortedDescendingCellStyle, SortedAscendingHeaderStyle и SortedDescendingHeaderStyle используются для применения стиля CSS к столбцу с сортировкой.Например, можно задать стиль столбца, по которому сортируются данные, и применить стиль заголовка для указания направления сортировки.

Элемент управления GridView обладает базовой функциональностью разбиения по страницам.Функциональность разбиения по страницам элемента управления GridView можно расширить с помощью свойства PagerTemplate элемента управления GridView.

Можно задать способы сохранения выбранных строк при выполнении элемента управления GridView в режиме разбиения по страницам.По умолчанию выбор строк выполняется на основе индекса строки.На каждой странице выбрана одна и та же строка (например, третья строка).Кроме того, можно включить сохраняемость на основе ключа данных выбранной строки.В этом случае при выборе строки 3 на странице 1 и переходе на страницу 2 на странице 2 не будет выбранных строк.При перемещении обратно на страницу 1 строка 3 по-прежнему остается выбранной.Для включения этой возможности установите для свойства EnablePersistedSelection значение true.

DataList

Серверный веб-элемент управления DataList должен быть привязан к источнику данных.Наиболее распространенным источником данных является элемент управления источником данных, например элемент управления SqlDataSource или ObjectDataSource.Кроме того, можно привязать элемент управления DataList к любому классу, реализующему интерфейс IEnumerable, который включает наборы данных ADO.NET (класс DataSet), объекты чтения данных (классы SqlDataReader или OleDbDataReader) или большинство коллекций.При выполнении привязки данных источник данных указывается для всего элемента управления DataList в целом.При добавлении к данному элементу управления других элементов управления, например при добавлении меток или текстовых полей в элемент «Список», можно привязывать свойства дочерних элементов управления к полям в текущем элементе данных.

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

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

Прежде всего, необходимо создать шаблон EditItemTemplate, предоставляющий макет и элементы управления для редактирования.Необходимо также предоставить пользователю способ сообщить программе, что он хочет редактировать элемент.Обычно это делается путем последовательного включения кнопки в шаблон элемента (и в свойство AlternatingItemTemplate, если оно используется) и задания для свойства CommandName этой кнопки значения edit.После нажатия на кнопку элемент управления DataList автоматически вызывает событие EditCommand.В коде для обработчика этого события следует перевести элемент в режим редактирования, отображающий шаблон EditItemTemplate.

EditItemTemplate обычно включает кнопки, которые дают пользователям возможность сохранять внесенные изменения или отменять их (например кнопки Обновить и Отмена).Эти кнопки действуют аналогично кнопке Правка — они посылают предварительно определенное командное сообщение (update или cancel) в элемент управления DataList, который вызывает событие UpdateCommand или CancelCommand, на которое можно отвечать соответствующим образом.

Аналогично происходит выделение элемента с помощью события SelectedIndexChanged.Следует добавить кнопку ItemTemplate и задать для ее свойства CommandName значение select.Затем нужно написать обработчик событий SelectedIndexChanged.Событие SelectedIndexChanged происходит, когда пользователь нажимает кнопку Выбрать.

Repeater

Элемент управления Repeater должен быть привязан к источнику данных.Наиболее распространенным источником данных является элемент управления источником данных, например элемент управления SqlDataSource или ObjectDataSource.Кроме того, можно привязать элемент управления Repeater к любому классу, реализующему интерфейс IEnumerable, который включает наборы данных ADO.NET (класса DataSet), объекты чтения данных (классы SqlDataReader или OleDbDataReader) или большинство коллекций.

При связывании данных источник данных указывается для всего элемента Repeater целиком.При добавлении элементов управления к элементу управления Repeater например, при добавлении элемента управления Label или TextBox к шаблону — нужно использовать синтаксис привязки данных для привязки отдельного элемента управления к полю элементов, возвращаемых источником данных.В следующем примере показывается страница ItemTemplate, содержащая элемент управления с привязкой к данным Label.

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

Основные понятия ADO.NET. ADO.NET в сравнении с ADO. ADO.NET и XML. Модель объекта ADO.NET

ADO.NET —новый этап в технологии ActiveX Data Objects (ADO). Это модель для Доступа к данным, созданная специально для использования в Web.

ADO.NET создает интерфейс ко всем совместимым с OLEDB источникам данных и обеспечивает соединение с ними, извлечение, управление и обновление данных.

ADO.NET создает структуру для доступа к любым типам данных в страницах ASP.NET,

ADO.NET в сравнении с ADO

В ADO BADO.NET  
Данные представлены при помощи: набора записей RecordSet, напоминающего простую таблицу или результат запроса   набора данных DataSet, который может содержать сложные таблицы из любого источника данных  
Доступ к данным: последовательный вызов строк из объекта RecordSet   произвольный доступ к данным в их наборе с использованием иерархии  
Соотношение между сложными таблицами: требует SQL joins и unions для сбора данных из сложных таблиц в один набор записи использует объекты DataRelation для перемещения между связанными таблицами  
  Совместное использование данных: требует преобразования типов данных, поддерживаемых принимаемой стороной, что снижает скорость выполнения   использует XML, преобразование типов данных отсутствует  
Удобство программирования: использует объест connection для передачи команд к основным конструкциям из источника данных   использует присущие сугубо XML характеристики, не требующие применения конструкций данных; всякий раз откликается на имя
Масштабируемость: блокировка и соединение с базой данных приводит к конфликту их ресурсов нет блокировки и постоянных соединений, таким образом, конфликты исключены
Брандмауэры: проблематичны, потому что брандмауэры отвергают многие типы запросов нет проблем, потому что XML полностью поддерживает брандмауэры
       

ADO.NET и XML

XML — полностью текстовый. XML сохраняет данные посредством иерархического представления полей и их данных. Например, в базе данных, именуемой Users, с полем Name, UserID и Birthdate, в текстовой форме это выглядит так:

<Users>

<User>

<Name/>

<UserID/>

<User>

</Users>

Эта структура XML-схема. (XML-схема бывает намного сложнее). Эта схема может также применяться для воспроизведения всех данных в таблицах:

<Users>

<User>

<name>Chris Payne</name>

<UserlD>l</UserID>

</User>

Вышеприведенная схема легко читается при помощи текстового редактора (например, Notepad.

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

Модель объекта ADO.NET

ADO.NET состоит из двух ключевых частей: набора данных DataSet и средств управления Managed Providers. B наборе представлены данные, передаваемые между компонентами ADO.NET, а именно из памяти в страницы ASP.NET. Это механизм обработки данных вне их хранилища.

Managed Providers обеспечивают механизм для соединения, доступа, управления и извлечения информации из любой совместимой с OLE DB базы данных.

Microsoft поставляет два типа Managed Providers в комплекте ADO.NET: SQL и OLE DB. Первый - для взаимодействия с Microsoft SQL Server и обеспечивает связь между SQL-сервером и набором данных. Второй, OLE DB, связывает набор и совместимый с OLE DB источник данных.

Для соединения с SQL-сервером одноименный Managed Provider применяет протокол, называемый tabular data stream (табличный поток данных). Это наиболее эффективный и не зависящий от OLE DB, ADO или ODBC метод для соединения с SQL-сервером. Данный протокол управляется CLR и, таким образом, выигрывает.

OLE DB провайдер обеспечивает эффективное взаимодействие со всеми другими типами данных и применяется для доступа к серверу SQL. Каждый провайдер имеет три компонента:

• интерфейс для соединения и управления базой данных, а также для взаимодействия с набором DataSet;

• поток данных для быстрого и эффективного доступа

• объекты для соединения с базой данных и для исполнения ее специфических команд на нижнем уровне.





Дата публикования: 2015-02-03; Прочитано: 438 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...