Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
web2.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
157.49 Кб
Скачать
  1. Створення простої сторінки, що використовує інформацію з бази даних

Варіант 2

  1. Web-developer. Структура вікна. Проект додатку asp.net

Якщо ви придбаєте Visual Studio. NET 2005, то для роботи достатньо буде тільки його. . NET Framework міститься на дисках. До його складу входить Visual Web Developer, який дозволяє створювати професійні web-додатки, а також desktop-додатки на різних мовах програмування. Продукти Microsoft випускаються на DVD, але є набір з двох CD від "Мегасофт". Visual Studio. NET 2005 потребує близько 2 Гб дискового простору. При цьому інсталюється ASP. NET 2.0, середовище розробки, SQL Server Express, вбудований web-сервер, Crystal Reports із спеціальними елементами управління для ASP. NET 2.0.

Безкоштовно розповсюджується програмне забезпечення

Visual Web Developer 2005 Express Edition - вільно розповсюджувана середовище, призначене для новачків і студентів, доступна за адресою http://msdn.microsoft.com/vstudio/express/vwd/. Список відмінностей VWD від Visual Studio. NET 2005 невеликий і для початківців неістотний. Він наведений тут: http://msdn.microsoft.com/vstudio/products/compare/default.aspx

Інсталятор VWD має об'єм 2,8 Мб, але в процесі інсталяції він завантажить ще 40 Мб і 80 Мб, якщо захочете встановити документацію. При цьому також буде встановлено . NET Framework з ASP. NET 2.0.

  1. Елементи керування для відображення даних (repeater, datalist і datagrid)

Елементи-споживачі даних

Споживачі даних відображають дані, отримані з класів-джерел даних. Вони надають багато корисних функцій. Наприклад, елемент керування GridView може не тільки показувати дані, але і сортувати, вибирати, редагувати їх. Якщо цієї функціональності недостатньо, її можна розширити, написавши власні обробники подій.

Елементи, які можуть бути пов'язані з елементами-джерелами даних

DropDownList, ListBox, CheckBoxList, RadioButtonList, BulletedList. Однак для всіх них необхідно в якості джерела даних вказувати не DataSource, А DataSourceID. Всі ці елементи можуть відображати тільки одне поле, зазначене в DataTextField, З можливістю завдання друге як індексного у властивості DataValueField:

Синтаксис динамічного зв'язування

Для прив'язки до даних використовуються роздільники <% #%>. В життєвому циклі кожного елемента керування настає подія DataBinding, Під час якого і обчислюються всі вирази, укладені в цей тег.

Repeater

Repeater в перекладі означає "той, хто повторює". Серед його значень "студент-другорічник" і "злодій-рецидивіст". Адже вони теж повторюють те, що робили. Але це "погані" значення, а "добре" - елемент-повторювач заданого шаблону для всіх полів джерела даних.

Шаблон - це безліч тегів HTML і серверних елементів керування, які задають зразок для відображення складової частини складного елемента керування. DataGrid може використовувати шаблони чи ні, але Repeater без них існувати не може - сам по собі він не має візуального представлення. Таким чином, програміст сам визначає його зовнішній вигляд. Крім DataSourceID і DataMember, Власних властивостей у нього немає. Тому у програміста є повний контроль над тим, як виводиться Repeater

DataList

DataList має ті ж риси, що й Repeater, Тобто виводить дані згідно з шаблонами. Проте це більш багатий елемент управління. По-перше, він підтримує вибір, редагування, видалення або вставку. Тому список шаблонів поповнився SelectedItemTemplate і EditItemTemplate. Крім того, у нього є верхній і нижній колонтитули зі стилями HeaderStyle і FooterStyle.

По-друге, можна змінити способи відображення. За замовчуванням DataList виводить дані поколонно в таблиці. Властивість RepeatLayout, Встановлене як Flow, Прибирає табличні теги з вихідного потоку.

За промовчанням елемент DataGrid сам визначає кількість полів у джерелі даних і генерує колонки таблиці. Це визначається властивістю AutoGenerateColumns. З елементом управління DataGrid можуть бути пов'язані не всі типи даних. Підтримуються примітивні типи, рядки, DataTime і Decimal. Якщо в полі непідтримувану, стовпець не буде створено. Якщо жодного відповідного поля немає, буде викинуто виключення.

DataGrid має заголовок (Header), Який за замовчуванням видно, і нижній колонтитул (Footer). При автоматичної генерації в заголовку кожного стовпця виводиться назва поля.

Якщо AutoGenerateColumns встановити в False, Можна самим керувати колонками і визначати більш складний його вигляд. У такому випадку треба включати в DataGrid елементи BoundColumn. Деякі властивості BoundColumn:

  • DataField визначає поле джерела даних;

  • DataFormatString задає формат виводу даних;

  • ReadOnly робить поле недоступним для редагування.

У заголовку і нижньому колонтитулі можна встановити будь-який текст, а в заголовку - ще й картинку (HeaderText, FooterText, HeaderImageUrl).

У комірку генерується DataGrid таблиці вставляється LiteralControl, Текст якого береться з джерела даних і форматується відповідно до DataFormatString. Для поточного рядку в комірці з'являється TextBox.

Є й інші типи колонок.

ButtonColumn відображає в кожному рядку командну кнопку. Якщо пов'язати її з полем, на кнопках будуть написи з цього поля.

EditCommandColumn показує кнопки для редагування.

HyperLinkColumn перетворює текст на гіперпосилання. Наприклад, поле PhotoPath можна показати в такій колонці, і тоді клацання по посиланню покаже фотографію.

TemplateColumn дозволяє визначити шаблон відображення, як у DataList.

При бажанні можна програмно приховувати і показувати колонки, наприклад:

DataGrid1.Columns [1]. Visible =! (DataGrid1.Columns [1]. Visible);

У елемента DataGrid є 7 властивостей, які задають стилі різних його частин або типів рядків. Всі вони мають тип TableItemStyle. Це AlternatingItemStyle, EditItemStyle, FooterStyle, HeaderStyle, ItemStyle, PagerStyle і SelectedItemStyle. Стилі утворюють ієрархію, тобто атрибут "Стиль", який вище в ієрархії, успадковує ті, що нижче, якщо він його не перевизначають. Порядок в ній такий:

  1. EditItemStyle - Стиль поточного рядку;

  2. SelectedItemStyle - Стиль вибраної рядка;

  3. AlternatingItemStyle - Стиль кожній другій рядка;

  4. ItemStyle - Стиль рядка за умовчанням;

  5. ControlStyle - Всі властивості, які впливають на зовнішній вигляд елемента, наприклад BackColor. PagerStyle, FooterStyle, HeaderStyle теж його успадковують.

  6. PagerStyle - Стиль пейджера, тобто номерів сторінок-гіперпосилань, при виборі яких таблиця перегортається. Щоб пейджер з'явився, повинен бути встановлений атрибут AllowPaging і кількість записів має бути більше PageSize. Всі ці властивості зручно встановлювати за допомогою PropertyBuilder.

Покажемо можливість видалення, оновлення і редагування даних у DataGrid за допомогою SqlDataSource.

Створіть на сервері SQL у базі DemoBase таблицю Users з трьома полями:

Column Name

Data Type

Allow Nulls

UID

int

Name

varchar (50)

Comments

varchar (250)

+

IsRegistered

bit

+

Поле UID - автоматичний. Тому операція INSERT не буде вимагати завдання його значення. Звичайно, це первинний ключ. У таблиці властивостей знайдіть IdentitySpecification, Розкрийте його і виберіть (IsIdentity).

Будемо працювати з таблицею за допомогою трьох процедур.

CREATE PROCEDURE dbo.SelectUsers

(

@ Col INT = 0

)

AS

IF @ Col = 0

SELECT * FROM Users

ELSE IF @ Col = 1

SELECT * FROM Users ORDER BY NAME

RETURN

Процедура EditUser буде використовуватися для вставки записів, якщо @ UID, І для відновлення в іншому випадку:

CREATE PROCEDURE dbo.EditUser

(

@ UID int = 0,

@ Name varchar (50),

@ Comments varchar (250),

@ Registered bit

)

AS

IF @ UID = 0

INSERT INTO Users (Name, Comments, IsRegistered)

VALUES (@ Name, @ Comments, @ Registered)

ELSE

UPDATE Users SET Name = @ Name, Comments = @ Comments,

IsRegistered = @ Registered WHERE UID = @ UID

RETURN

Процедура для видалення записів.

CREATE PROCEDURE dbo.DeleteUser

(

@ UID int

)

AS

DELETE FROM Users WHERE UID = @ UID

RETURN

На формі буде знаходитися, окрім DataGrid, Два елементи редагування -- NameTextBox, А також CommentTextBox і кнопка Add. Для наших таємних цілей додамо елемент керування типу HiddenField. Ці цілі - зберігати id поточного елемента і передавати його SqlDataSource

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]