Главная страница 1
скачать файл

Лабораторная работа № 3


Управление данными

1. Цель работы


Целью работы является рассмотреть элементы управления источниками данных и элементы управления для отображения данных. Задачей работы является создание Web-форм с различными элементами управления.

2. Состав рабочего места


2.1. Оборудование: IBM-совместимый персональный компьютер (ПК).

2.2. Программное обеспечение: операционная система Windows, среда разработки Microsoft Visual Studio, СУРБД Microsoft SQL Server.



3. Краткие теоретические сведения


Технология Web Forms

Технология Web Forms, реализованная в ASP.NET, реализует модель программирования, в которой веб-страницы динамически генерируются на веб-сервере и передаются браузеру через Интернет. В определенном смысле эта технология является развитием технологии ASP, позволяя объединить Web-ориентированый подход написания Web-приложений ASP с методами традиционного программирования.

При этом разработчик создает разметку HTML-страницы со статическим содержимым и пишет программу С# для вывода динамического содержимого. Программа С# выполняется на сервере, и созданные ею данные интегрируются со статической HTML-разметкой , в результате чего получается веб-страница. Браузеру отсылается полученный стандартный HTML-код.

Веб-формы (страницы приложений, созданные с помощью Web Forms) могут работать с любым браузером, если он может работать с версией HTML, используемой сервером при создании этих страниц. Логика работы веб-формы может быть реализована на любом языке программирования, поддерживаемоговерсией .NET Framework, которая установлена на веб-сервере.

Веб-приложения можно создавать в любом текстовом редакторе . , но все-таки Visual Studio значительно облегчает процесс разработки и тестирования веб-приложений.

Любая веб-форма состоит, как правило, из трёх составляющих: директивной, декларативной и императивной (программной).

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

Декларативная составляющая содержит статическую информацию о разметке текущей страницы, а также о правилах привязки к динамическим данным.

Императивная составляющая реализует поведенческие аспекты задекларированных элементов управления ASP.NET, а также позволяет создавать для их взаимодействия объектные модели из любых классов, входящих в состав платформы .NET Framework или, при надобности, любых других платформ любым возможным стандартным способом. Эта составляющая может находиться как в файле разметки, так и в отдельном файле, имя которого формируется с помощью конкатенации имени файла разметки страницы, символа точки и сокращения языка программирования (для C# - расширение файла .cs)

Страница хранится в файле с расширением sрх. При обращении к веб-серверу по виртуальному адресу формы в итоге производится обращение к классу вызываемой веб-формы, динамически создающему ответный код HTML, посылаемый браузеру клиента.

ASP.NET предлагает богатый выбор элементов пользовательского интерфейса. Количество и сложность элементов управления значительно возросли за последние годы, соответственно возросли и ожидания пользователей относительно внешнего вида и поведения веб-приложений. Кроме всего прочего, веб-приложения по своей природе являются распределенными. В типичном случае клиент и сервер расположены в разных местах. В большинстве веб-приложений при их создании приходится учитывать такиехарактеристики, как время ожидания в сети, ширина полосы пропускания и производительность веб-сервера и т.д. Передача информации от клиента к веб-серверу и обратно может длиться несколько секунд.

Серверные элементы управления ASP.NET

Добавить некоторое содержимое в код ASP.NET в VisualStudio с помощью конструктора Web Forms, который поддерживает перетаскивание элементов мышью из панели элементов управления Web.

На страницы ASP.NET можно добавлять три типа серверных элементов управления.


  • Серверные элементы управления HTML — имитируют стандартные элементы HTML, которые должны быть знакомы разработчикам на HTML.

  • Серверные элементы управления Web — новый набор элементов, часть которого имеют ту же функциональность, что и элементы HTML. Эти элементы управления используют общую схему именования свойств и прочих элементов для облегчения разработки и согласования с аналогичными элементами ynpaвления WindowsForms. Как увидим позднее, доступны также некоторые совершенно новые и очень мощные элементы управления. Среди Web-серверных элементов управления есть стандартные — такие как кнопки, элементы проверки допустимости для контроля пользовательского ввода, элементы peгистрации (Login), упрощающие управление пользователями, а также более сложные элементы, предназначенные для работы с источниками данных и т.д.

  • Настраиваемые и пользовательские элементы управления — эти элементы определяются разработчиком и могут быть созданы разными способами.

Web-серверные элементы управления ASP.NETПочти все Web-серверные элементы управления (в этой и других категориях) унаследованы от класса System.Web.UI. WebControls .WebControl, который, в свою очередь, унаследован от System.Web.UI .Control. Те же из них, которые не используют это наследование, наследуются либо напрямую от Control, либо от более специализированных базовых классов, которые в конечном итоге происходят от Control. Этим объясняется, что Web-серверные элементы управления имеют множество общих свойств и событий, которые можно использовать при необходимости.

Многие из часто используемых унаследованных свойств имеют отношение к стилю отображения. Внешним видом элементов управления можно легко управлять, используя такие свойства, как ForeColor, BackColor, Font и так далее; управлять ими можно также с помощью классов каскадных таблиц стилей (CSS). Это достигается установкой строкового свойства CssClass значением имени класса CSS из соответствующего файла. Другие достойные упоминания свойства — это Width и Height, с помощью которых можно управлять размером элемента управления, AccиssKey и TabIndex — для облегчения взаимодействия с пользователем, а также Enabled — для включения/отключения функциональности элемента управления в составе разрешённых для реагирования серверных элементов управления Web Forms.

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

Вероятно, вам придется использовать унаследованное событие Load чаще других-для инициализации элемента управления, и PreRender — для выполнения самых последних модификаций перед выводом HTML.



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

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



  1. Элементы управления источниками данных (SqlDataSource, AccessDataSource, ObjectDataSource, XmlDataSource, SiteMapDataSource);

  2. Элементы управления отображением данных (GridView, DataList, DetailsView, FormView, Repeater, Reportviewer).

Обычно на страницу помещается один из (не визуальных) элементов управления источников данных для связи с хранилищем данных; затем добавляются элементы управления для отображения данных, привязанные к источнику. Некоторые из наиболее усовершенствованных элементов управления для отображения данных вроде GridView также позволяют редактировать данные.

Элементы управления источников данных

Элемент управления

Описание

SqlDataSource


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

AccessDataSource


Как SqlDataSource, но работает с данными из базы Access.


ObjectDataSource


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


XmlDataSource



Аналогично SqlDataSource , но работает с иерархическими данными. Удобно применять в связке с элементом управления TreeView(один из элементов управления, предназначенныйвизуализации иерархических данных). Можно также при необходимости трансформировать данные XML с помощью таблицы стилей XSL.

SiteMapDataSource


Позволяет связаться с иерархическими данными карты сайта. См. далее раздел, посвященный Web-серверным элементам управления для навигации

Элементы управления для отображения данных

Элемент управления

Описание

GridView

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


DataList

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


DetailsView

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


FormView

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



Repeater

Подобно DataList, но без возможностей выбора и редактирования.


ReportViewer

Усовершенствованный элемент управления, предназначенный для отображения отчетных данных.


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

В разработке программного обеспечения зачастую встает задача отображения табличных данных. ASP.NET предоставляет ряд инструментов для отображения данных в табличном виде, в число которых входит элемент управления GridView. С помощью элемента управления GridView можно отображать, изменять и удалять данные из различных источников данных, в том числе баз данных, XML-файлов и бизнес-объектов, публикующих данные.


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

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



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

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

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

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

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

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


Привязка данных к элементу управления GridView

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



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

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

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

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


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


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

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

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

Функциональность сортировки в элементе управления GridView


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

Функциональность разбиения по страницам в элементе управления GridView


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

События GridView


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

 Функциональные возможности

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


  • Автоматическая привязка данных, благодаря которой узлы элемента управления привязываются к иерархическим данным, таким как XML-документ.

  • Поддержка структуры переходов по веб-узлу благодаря интеграции с элементом управления SiteMapDataSource.

  • Текст узла, который может отображаться или как обычный текст, или как гиперссылки.

  • Настройка внешнего вида с помощью тем, определенных пользователем изображений и стилей.

  • Программный доступ к объектной модели TreeView, которая позволяет создавать древовидные структуры, заполнять узлы, устанавливать свойства и пр., динамическим образом.

  • Заполнение клиентских узлов (на поддерживаемых обозревателях).

  • Возможность отображения флажков рядом с каждым узлом.

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

Отображение статических данных


Статические данные в элементе управления TreeView можно отображать путем создания коллекции элементов TreeNode, которые являются дочерними элементами элемента управления TreeView. Эти дочерние элементы называются также дочерними узлами.

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


























Привязка данных к элементу управления TreeView


Элемент управления TreeView можно привязать к источнику данных, который реализует интерфейс IHierarchicalDataSource, например, элементы управления XmlDataSource и SiteMapDataSource. Кроме того, при привязке данных можно управлять тем, какие поля следует заполнять из источника данных.

Отображение данных программным путем при помощи TreeNodeCollection


Элемент управления TreeView можно заполнить данными программным путем, обратившись к свойству Nodes, которое возвращает класс TreeNodeCollection. Коллекция TreeNodeCollection является очень строго типизированной коллекцией объектов TreeNode. Так как объект TreeNode содержит свойство ChildNodes, которое может содержать объекты TreeNode, то класс TreeNodeCollection является иерархической структурой данных, представляющей все узлы элемента управления TreeView.

Типы узлов TreeView


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


Тип узла

Описание

Корневой

Узел без родительского узла и с одним или несколькими дочерними узлами.

Родительский

Узел с родительским узлом и с одним или несколькими дочерними узлами.

Конечный

Узел без дочерних узлов.

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

Каждый узел содержит свойства Text и Value. Значение свойства Text отображается в элементе управления TreeView, а свойство Value используется для хранения дополнительных данных об узле, например, данных, передаваемых событию обратной передачи, связанному с узлом.

При клике на узле элемента управления TreeView он может либо инициировать событие выбора (через обратную отправку), либо перенаправить браузер на другую страницу. Если свойство NavigateUrl не задано, то при клике на узле инициируется событие SelectedNodeChanged, которое можно обработать для реализации необходимой функциональности. Каждый узел имеет свойство SelectAction, которое можно использовать для определения отдельных действий, происходящих при клике на узле, например, разворачивание или сворачивание узла. Чтобы при клике на узле вместо инициирования события выбора происходило перенаправление на определённую страницу, присвойте свойству NavigateUrl узла значение, отличное от пустой строки.

Заполнение данных TreeNode по требованию


Иногда не очень удобно определять структуру данных статически, так как данные могут зависеть от информации, получаемой во время выполнения. Для динамического отображения данных элемент управления TreeView поддерживает динамическое заполнение узла. Если элемент управления TreeView настроен на заполнение по требованию, то элемент управления инициирует событие, когда пользователь разворачивает узел. Обработчик событий извлекает соответствующие данные и заполняет узел, на который кликнул пользователь. Чтобы заполнить объект TreeNode данными по требованию, присвойте свойству PopulateOnDemand узла значение true и создайте обработчик событий TreeNodePopulate для заполнения данными объекта TreeNode.

Заполнение узла в TreeView на стороне клиента


Любой обозреватель, имеющий свойство SupportsCallback с установленным значением true в файле конфигурации возможностей обозревателя, поддерживает заполнение узла на стороне клиента.

Заполнение узла на стороне клиента позволяет элементу управления TreeView заполнить узел с помощью вызова события TreeNodePopulate сервера из клиентского сценария, вместо запрашивания обмена данными с сервером.


Разрешение сценариев клиента


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

Обратная передача в TreeView


По умолчанию элемент управления TreeView управляет функциями разворачивания и сворачивания на стороне клиента за исключением тех случаев, когда обозреватель не поддерживает клиентские сценарии или свойство EnableClientScript имеет значение false. Если свойство PopulateNodesFromClient имеет значение true и обозреватель поддерживает клиентские сценарии, то элемент управления TreeView извлекает данные с сервера, но не передает обратно всю страницу целиком.

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

Обычно управлять обратной передачей событий стоит, когда элемент управления TreeView находится в режиме выбора или узлы заполняются динамически. Это действительно, пока либо свойство PopulateOnDemand, либо свойство PopulateNodesFromClient имеют значение true.

Использование элемента управления TreeView с элементами управления UpdatePanel


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

  • Обратные вызовы элемента управления TreeView должны быть связаны с асинхронными обратными передачами, иначе проверка события обратного вызова завершится неудачей. При присваивании свойству PopulateOnDemand элемента управления TreeNode значения true обратные вызовы разрешены. Чтобы удостовериться, что обратные вызовы элемента управления TreeView работают с элементом управления UpdatePanel, можно использовать один из следующих подходов:

    • Если элемент управления TreeView не внутри элемента управления UpdatePanel, то следует отключить обратные вызовы элементов управления TreeNode, которые не являются частью асинхронной обратной передачи. Для этого надо присвоить свойству PopulateOnDemand значение false.

    • Обновите программным путем все элементы управления, которые регистрируют обратные вызовы во время асинхронной обратной передачи. Например, можно поместить элемент управления TreeView внутри элемента управления UpdatePanel. Элемент управления TreeView не обязательно должен быть внутри элемента управления UpdatePanel, из которого происходят асинхронные обратные передачи, так как элемент управления UpdatePanel, содержащий элемент управления TreeView, обновляется.

  • Применять стили следует путем ссылки на класс таблиц каскадных стилей (Cascading Style Sheet – CSS). Например, вместо того, чтобы установить атрибут свойства NodeStyle в форме «свойство.подчиненное_свойство», задавайте стиль с помощью атрибута в форме «CssClass=имя_класса». Аналогично, при использовании шаблона NodeStyle для задания стиля, используйте атрибут CssClass шаблона.

  • Свойство EnableClientScript должно иметь значение true (значение по умолчанию). Кроме того, если обратные вызовы включены для элемента управления TreeView, то нельзя менять свойство EnableClientScript между асинхронными обратными передачами.


4. Порядок выполнения работы

Упражнение 1


Создание Web форм с элементом управления TreeView Data-Связывание данных с представлением

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


План:

Пользователь интрасети на портале компании должен увидеть специализированные для неё решения.

Группа Web-разработчиков определила следующий дизайн:


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

  • Секция с полосой прокрутки должна иметь высоту всей странички и ширину 180 пикселей.



  • Откройте начальный Web-сайт

    1. В среде Visual Studio, в меню File нажмите Open Web Site.

    2. Выберите ~\LabFiles\Starter\language\Ex1 , и нажмите Open.

Создайте соединение с базой данных.

    1. В окне Solution Explorer двойным щелчкем выберите файл web.config. Файл web.config откроется в окне Source.

    2. В секции создайте подсекцию и определите соединение для базы данных Northwind Traders под названием NWindConn.

Ваш код должен выглядеть следующим образом:





3.Чтобы сохранить файл web.config , в меню File выберите Save web.config

4. Чтобы закрыть web.config, в меню File выберите Close



  • Создание элемента управления SqlDataSource

      1. В окне Solution Explorer сделайте двойной щелчок на страничке Sales.aspx. Sales.aspx откроется в исходном окне.

    1. Импортируйте библиотеку классов (пространство имен) System.Data используя директиву @Imports

      1. Ваш код должен иметь вид:


<%@ import namespace="System.Data" %>
3. Из окна Toolbox перетащите элемент управления SqlDataSource внутрь содержимого элемента управления PageContentPlaceHolder .

4. Установите следующие свойства элемента управления SqlDataSource.




Атрибут

Значение




ID

Regions

ConnectionString

<%$ ConnectionStrings:NWindConn%>

SelectCommand

SELECT RegionID, RegionDescription FROM Region

Ваш код должен выглядеть следующим образом:




5. Из секции данных окна Toolbox перетащите элемент управления SqlDataSource в область содержимого элемента управления PageContentPlaceHolder.

6. Установите следующие свойства SqlDataSource


Атрибут

Значение




ID

Territories

ConnectionString

<%$ ConnectionStrings:NWindConn %>

SelectCommand

SELECT TerritoryID, TerritoryDescription, RegionID FROM Territories

Ваш код должен выглядеть следующим образом:







  • Создание элемента управления XmlDataSource.

    1. Из секции данных окна Toolbox перетащите элемент управления XmlDataSource в область содержимого элемента управления PageContentPlaceHolder.

    2. Установите значение ID равное XmlView

Ваш код должен выглядеть следующим образом:





  • Заполнение XmlDataSource данными:

    1. В императивной части страницы создайте обработчик события PageLoad.

Ваш код должен выглядеть следующим образом:
void Page_Load (object sender, EventArgs e)

{

}




    1. В обработчике события загрузки страницы создайте объект DataSet с именем treeData и установите параметр DataSetName.

Ваш код должен выглядеть следующим образом:
DataSet treeData = new DataSet();

treeData.DataSetName = "RegTerrs";




    1. Создайте объект DataView с названием regionView который использует команду Select объекта SqlDataSource. Он передает пустой параметр DataSourceSelectArguments, который передает результат в DataView.

Ваш код должен выглядеть следующим образом:
DataView regionView = (DataView)

Regions.Select(DataSourceSelectArguments.Empty);




    1. Создайте объект DataTable с именем regionTable, который использует метод Copy свойства Table элемента управления regionView, и установите свойство ColumnMapping для первых двух колонок в MappingType.Attribute

Ваш код должен выглядеть следующим образом:
DataTable regionTable = regionView.Table.Copy();

regionTable.Columns[0].ColumnMapping =

MappingType.Attribute;

regionTable.Columns[1].ColumnMapping =

MappingType.Attribute;


    1. Создайте объект DataView с именем territoryView, который использует команду Select для выборки области из SqlDataSource, передавая пустой параметр DataSourceSelectArguments, который передает результат в DataView

Ваш код должен выглядеть следующим образом:
DataView territoryView = (DataView)

Territories.Select(DataSourceSelectArguments.Empty);




    1. Создайте объект DataTable с именем territoryTable, который использует метод Copy свойства Table элемента управления territoryView, и установите свойство ColumnMapping первых трех колонок в MappingType.Attribute.

Ваш код должен выглядеть следующим образом:
DataTable territoryTable = territoryView.Table.Copy();

territoryTable.Columns[0].ColumnMapping =

MappingType.Attribute;

territoryTable.Columns[1].ColumnMapping =

MappingType.Attribute;

territoryTable.Columns[2].ColumnMapping =

MappingType.Attribute;


    1. Установите свойство TableName для объекта DataTable с именем regionTable равным Regions.

Ваш код должен выглядеть следующим образом:
regionTable.TableName = "Regions";


    1. Установите свойство TableName для обьекта territoryTable равным Territories.

Ваш код должен выглядеть следующим образом:
territoryTable.TableName = "Territories";


    1. Добавьте таблицы данных regionTable и territoryTable в treeData DataSet

Ваш код должен выглядеть следующим образом:
treeData.Tables.Add(regionTable);

treeData.Tables.Add(territoryTable);




    1. Создайте связи DataRelation с именем rel которые модулируют иерархические связи между регионами и областями, и установите свойство Nested объекта DataRelation на true.

Ваш код должен выглядеть следующим образом:
DataRelation rel =

new DataRelation("regionsTerritories",

regionTable.Columns["RegionID"],

territoryTable.Columns["RegionID"]);

rel.Nested = true;


    1. Добавьте отношение rel в объект treeData

Ваш код должен выглядеть следующим образом:
treeData.Relations.Add(rel);


    1. Установите свойство Data объекта XmlView равным значению, возвращаемому из метода GetXml объекта treeData типа.DataSet.

Ваш код должен выглядеть следующим образом:
XmlView.Data = treeData.GetXml();


  • Создайте элемент управления Panel содержащий TreeView.

    1. Из стандартной части ToolBox перетащите элемент управления Panel в PageContentPlaceHolder.

    2. Нужно установить следующие свойства элемента управления Panel и очистить значения свойства Height и Width.

Атрибут

Значение




ID

pnlTreeView

ScrollBars

Auto

BackColor

Gainsboro

CssClass

TreePanel

Ваш код должен выглядеть следующим образом:






  • Создайте элемент управления TreeView

    1. Из навигационной части (Navigation) окна Toolbox перетащите элемент управления TreeView внутрь содержимого элемента управления Panel с идентификатором pnlTreeView.

    2. Установите следующие свойства для TreeView.

Атрибут

Значение




ID

RegTerrTree

DataSourceID

XmlView

AutoGenerateDataBindings

true

ExpandDepth

1

ShowLines

true

Font-Size

8pt

Ваш код должен выглядеть следующим образом:






    1. Добавьте элемент DataBindings в RegTerrTree элемента управления TreeView .

Ваш код должен выглядеть следующим образом:



    1. Добавьте элемент TreeNodeBinding в элемент DataBindings для корневого узла дерева.

Ваш код должен выглядеть следующим образом:



    1. Установите следующие свойства элемента TreeNodeBinding.

Атрибут

Значение

Depth

0

DataMember

RegTerrs

Text

Regions & Territories

SelectAction

None

Ваш код должен выглядеть следующим образом:




Text="Regions & Territories" SelectAction="None"/>




    1. Добавьте элемент TreeNodeBinding в элемент DataBindings для вывода текста и значений региональных областей.

    2. Установите следующие свойства элемента TreeNodeBinding.

      Атрибут

      Значение




      Depth

      1

      DataMember

      Regions

      TextField

      RegionDescription

      ValueField

      RegionID



Ваш код должен выглядеть следующим образом:



    1. Добавьте элемент TreeNodeBinding в элемент DataBindings для вывода текста и значений территориальных узлов.

    2. Установите следующие свойства элемента TreeNodeBinding.

Атрибут

Значение




Depth

2

DataMember

Territories

TextField

TerritoryDescription

ValueField

TerritoryID

Ваш код должен выглядеть следующим образом:



  • Просмотр страницы

    1. Для сохранить страницы Sales.aspx, в меню File выберите Save Sales.apsx.

    2. В любом месте странички кликните правой кнопкой мышки и выберите меню View in Browser.

    3. Просмотрите результаты развертывая узлы элемента управления TreeView

    4. Закройте браузер.

    5. В меню File выберите Close Project и оставьте среду Visual Studio открытой для выполнения следуещего упражнения.


Упражнение 2


Создание Web-форм с привязанным к данным элементом управления GridView

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



Сценарий

Команда Web разработчиков должна создать Web форму для отображения работников по регионам и территориям, учитывая, что пользователи имеют возможность изменять данные в своем профиле.



Спроектируйте Web форму так, чтобы:

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

  • Для каждого работника из списка GridView должен содержать фамилию, имя и звание.

  • Откройте исходный Web сайт.

    1. В среде Visual Studio, в меню File, нажмите Open Web Site.

    2. Выберите E:\LabFiles\Starter\language\Ex2, и нажмите Open.

  • Модифицируйте страницу Sales.aspx.

    1. В Solution Explorer двойной щелчок на Sales.aspx.

      1. Это откроет Sales.aspx в окне Source

    2. Создайте таблицу под html комментарием TODO: Exercise 2 --> с cellspacing равным 0 (выраженная в пикселях толщина линии, разделяющей смежные ячейки таблицы), cellpadding равным 0 (пустое пространство между границей табличной ячейки и помещённым в ней текстом), шириной width равной 100%, и высотой heightравной 100%.

      1. Таблица состоит из одной строки и двух ячеек.

    3. Первая ячейка должна иметь ширину width равную 180 пикселам.

    4. Для второй ячейки выравнивание текста align должно быть задано left и вертикальное выравнивание valign установлено top.

Ваш код должен выглядеть следующим образом:

















    1. Перетащите элемент управления pnlTreeView Panel и все его содержимое в первую ячейку.





  • Создайте источник данных SqlDataSource для элемента управления GridView

    1. Из раздела Data (данные) Toolbox перетащите элемент управления SqlDataSource во вторую ячейку.

    2. Установите следующие свойства для элемента управления SqlDataSource.

Атрибут

Значение




(ID)

EmployeesByRegion

ConnectionString

<%$ ConnectionStrings: NWindConn %>

SelectCommand

sp_GetEmployeesByRegion

DataSourceMode

DataReader

SelectCommandType

StoredProcedure

Ваш код должен выглядеть следующим образом:




    1. Добавьте элемент SelectParameters в элемент управления SqlDataSource.

    2. Добавьте элемент управления ControlParameter в элемент SelectParameters.

    3. Установите следующие свойства элемента управления ControlParameter.

Атрибут

Значение




(Name)

RegionID

ConvertEmptyStringToNulll

False

PropertyName

SelectedValue

ControlID

RegTerrTree

Ваш код должен выглядеть следующим образом:









    1. Из раздела Data Toolbox перетащите элемент управления SqlDataSource во вторую ячейку.

    2. Установите следующие свойства для элемента управления SqlDataSource.

Атрибут

Значение




(ID)

EmployeesByTerritory

ConnectionString

<%$ ConnectionStrings: NWindConn %>

SelectCommand

sp_GetEmployeesByTerritory

DataSourceMode

DataReader

SelectCommandType

StoredProcedure

Ваш код должен выглядеть следующим образом:


SelectCommandType="StoredProcedure">






    1. Добавьте элемент SelectParameters в элемент управления SqlDataSource.

    2. Добавьте элемент управления ControlParameter в элемент SelectParameters.

    3. Установите следующие свойства элемента управления ControlParameter.

Атрибут

Значение




(Name)

TerritoryID

ConvertEmptyStringToNulll

False

PropertyName

SelectedValue

ControlID

RegTerrTree

Ваш код должен выглядеть следующим образом:













  • Создание элемента управления GridView

    1. Из раздела Data Toolbox перетащите элемент управления GridView во вторую ячейку таблицы.

    2. Установите следующие свойства для элемента управления GridView

Атрибут

Значение




(ID)

GridviewRegion

DataSourceID

EmployeesByRegion

Width

100%

AutoGenerateColumns

False

Ваш код должен выглядеть следующим образом:







    1. Добавьте элемент Columns в элемент управления GridView.







    1. Добавьте элемент управления BoundField в коллекцию Columns для фамилий работников.

Ваш код должен выглядеть следующим образом:



    1. Установите следующие свойства для элемента управления BoundField.

Атрибут

Значение




DataField

LastName

HeaderText

Last Name

Ваш код должен выглядеть следующим образом:







    1. Добавьте элемент управления BoundField в коллекцию Columns для имен работников.

    2. Установите следующие свойства для элемента управления BoundField.

Атрибут

Значение




DataField

FirstName

HeaderText

First Name

Ваш код должен выглядеть следующим образом:







    1. Добавьте элемент управления BoundField в коллекцию Columns для званий работников.

    2. Установите следующие свойства для элемента управления BoundField.

Атрибут

Значение




DataField

Title

HeaderText

Title

Ваш код должен выглядеть следующим образом:








    1. Из раздела Data Панели инструментов перетащите элемент управления GridView во вторую ячейку таблицы.

    2. Установите следующие свойства для элемента управления GridView

Атрибут

Значение




(ID)

GridviewTerritory

DataSourceID

EmployeesByTerritory

Width

100%

AutoGenerateColumns

False

Ваш код должен выглядеть следующим образом:


AutoGenerateColumns="false">






    1. Добавьте элемент Columns в элемент управления GridView









    1. Добавьте элемент управления BoundField в коллекцию Columns для фамилий работников.

Ваш код должен выглядеть следующим образом:



    1. Установите следующие свойства для элемента управления BoundField

Атрибут

Значение




DataField

LastName

HeaderText

Last Name

Ваш код должен выглядеть следующим образом:







    1. Добавьте элемент управления BoundField в коллекцию Columns для имен работников.

    2. Установите следующие свойства для элемента управления BoundField

Атрибут

Значение




DataField

FirstName

HeaderText

First Name

Ваш код должен выглядеть следующим образом:







    1. Добавьте элемент управления BoundField в коллекцию Columns для званий работников.

    2. Установите следующие свойства для элемента управления BoundField

Атрибут

Значение




DataField

Title

HeaderText

Title

Ваш код должен выглядеть следующим образом:













  • Просмотр страницы Sales.aspx

    1. Для того, чтобы сохранить страницу Sales.aspx, в меню File выберите Save Sales.apsx.

    2. В любом месте странички кликните правой кнопкой мышки и выберите View in Browser.

    3. Просмотрите результаты, разворачивая узлы элемента управления TreeView Regions & Territories

    4. Закройте браузер.

    5. В меню File выберите Close Project и оставьте Visual Studio открытой для выполнения следующего упражнения.



Упражнение 3


Модификация элемента управления GridView для обновления данных.


Сценарий



В этом упражнении, вы будете менять элемент управления GridView и модифицировать данные работника.

Исследование по поводу эффективности корпоративного коммерческого сайта Adventure Works указало, что возникла необходимость сосдания отдела, который будет модифицировать информацию о работниках в Веб-форме.

Ваша группа Веб-разработчиков должна добавить и изменить атрибуты в GridView, чтобы обеспечить пользователей сайта возможностью модифицировать информацию в Веб-Форме.


  • Откройте Веб-узел.

      1. В среде Visual Studio, в меню File, щелкните Open Web Site.

      2. Выберите путь к папке ~LabFiles\Starter\language\Ex3 а затем нажимайте Open.



  • Измените элемент управления SqlDataSource.

      1. В Проводнике Решения (Solution Explorer), дважды щелкните страницу Sales.aspx. Это действие открывает страницу Sales.aspx в основном окне.

      2. Щелкните элемент управления SqlDataSource с идентификатором EmployeesByRegion.

      3. Установите следующее свойство элемента управления EmployeesByRegion.

Атрибут

Значение




UpdateCommand

UPDATE Employees SET FirstName = @FirstName, LastName = @LastName, Title = @Title WHERE EmployeeID = @EmployeeID

Ваш код должен выглядеть следующим образом:






      1. Щелкните EmployeesByTerritory элемента управления SqlDataSource.

      2. Установите следующее свойство EmployeesByTerritory элемента управления SqlDataSource.

Атрибут

Значение




UpdateCommand

UPDATE Employees SET FirstName = @FirstName, LastName = @LastName, Title = @Title WHERE EmployeeID = @EmployeeID

Ваш код должен выглядеть следующим образом:






  • Измените элемент GridView.

      1. Щелкните элемент управления GridviewRegion.

      2. Установите следующие свойства элемента управления GridView.

Атрибут

Значение




DataKeyNames

EmployeeID

AutoGenerateSelectButton

false

AutoGenerateEditButton

true

Ваш код должен выглядеть следующим образом:






      1. Щелкните на элементе управления GridView с идентификатором GridviewTerritory.

      2. Установите следующие свойства элемента управления GridView.

Атрибут

Значение




DataKeyNames

EmployeeID

AutoGenerateSelectButton

false

AutoGenerateEditButton

true

Ваш код должен выглядеть следующим образом:


Width="100%" AutoGenerateColumns="false" DataKeyNames="EmployeeID" AutoGenerateSelectButton="false" AutoGenerateEditButton="true">




  • Просмотрите страницу Sales.aspx.

      1. Чтобы сохранить страницу Sales.aspx, кликните меню File, а затем - Save Sales.apsx.

      2. Кликните правой кнопкой где-нибудь на странице Sales.aspx, а затем выберите View in Browser.

      3. Выберите регион или территорию, а затем щелкните Edit в элементе управления GridView.

      4. Измените заголовок для выбранного работника, а затем кликните Update (Обновить).

5. Содержание отчета


В отчете должны быть представлены:

  • исходный код;

  • результат выполненной работы в виде скриншотов.
скачать файл



Смотрите также:
Лабораторная работа №3 Управление данными
343.45kb.
Управление предприятием (планирование производства, управление затратами и расчет себестоимости, управление данными об изделиях), включая учет использования этилового спирта при производстве слабоалкогольной продукции
97.18kb.
Лабораторная работа №5 «Изучение деления ядра атома урана по фотографии треков»
51.65kb.
Цель дисциплины "Управление данными" заключается в ознакомлении студентов с основными принципами организации баз и банков данных
115.42kb.
Лабораторная работа №1. Обработка данных
70.15kb.
Лабораторная работа по курсу метрологии
141.86kb.
Лабораторная работа №3. Вычисления в табличном процессоре Excel
38.95kb.
Лабораторная работа №1 по курсу «Системное программное обеспечение»
23.17kb.
4 теплоизоляционные материалы 1 лабораторная работа №6 Методы испытаний различных теплоизоляционных материалов
133.42kb.
Курсовая работа «Политическое управление в России ХХ века»
184.19kb.
Лабораторная работа: «Разработка тестопригодных цифровых логических схем»
127.18kb.
Лабораторная работа №1. Выполнение упражнений на создание статической и динамической композиции в программах обработки графической информации
91.8kb.