Навігація
Головна
 
Головна arrow Інформатика arrow Проектування і розробка web-додатків
< Попередня   ЗМІСТ   Наступна >

КОЛОНКИ З КНОПКАМИ

ЕУ ButtonField використовується для створення колонки, яка містить для кожного рядка ЕУ Button (кнопку), який ініціює подія "клацання". За допомогою такої кнопки можна ініціювати на стороні сервера деяку дію, яке потрібно виконати для заданої рядки. При натисканні кнопки виконується зворотна відправка на сервер і ініціювання в wcb-додатку події RowCommand. Для цієї події можна створити обробник, який буде виконувати деякі дії, пов'язані з цією рядком. На рис. 4.18 показаний приклад використання кнопок в рядках даних.

Даний ЕУ описується за допомогою наступного коду розмітки: <Columns>

<Asp: BoundField DataField = "ProductName" HeaderText-Товари "/>

<asp: BoundField DataField = "UnitPrice" HeaderText = "Ціна " />

<Asp: ButtonField ButtonType = "Button" Text = "Купити"

CommandName = "Add'7>

</ Columns>

Використання колонки з кнопками в ЕУ GridView

Мал. 4.18. Використання колонки з кнопками в ЕУ GridView

В даному прикладі інформація про кожен товар показується за допомогою колонки BoundField. Для кнопки можна задати різні стилі відображення (ButtonType): Button (звичайна кнопка), Link (посилання) або Image (зображення). Коли користувач клацає по кнопці в одному з рядків з описом товарів, виконується ініціювання події Row- Command. Зв'язування події з обробником виконується звичайним способом за допомогою властивості onRowCommand. Наприклад: onRowCom- mand = "GridView1_RowCommand1".

Якщо в рядку буде кілька кнопок, то властивість CommandName дозволить визначити, яка з кнопок була натиснута. Властивості CommandName повинна бути задана будь-яка унікальна рядок символів, яку знає програмний код, щоб визначити дії, пов'язані саме з цією кнопкою. При цьому в властивості CommandArgument параметра події (тип GridViewCommandEventArgs) буде передаватися номер рядка, в якій виконався клацання кнопкою.

Наприклад, колонка у вигляді кнопки може дозволити додавати товари в кошик користувача. Наприклад: protected void GridView1_RowCommand1 (object sender,

GridViewCommandEventArgs e) {

if (e.CommandName.EqualsfAdd ")) {

// отримати індекс рядка, в якій натиснута кнопка (перший рядок 0)

int index = Convert.Tolnt32 (e.CommandArgument);

// наприклад, додаємо даний товар в корзину покупця

// AddToShoppingCart (index);

)

В даному прикладі кнопкова колонка показує фіксований текст для всіх елементів даних. Це задається за допомогою властивості Text класу ButtonField. Якщо потрібно пов'язати текст кнопки з деяким полем поточного елемента даних, то потрібно задати властивості DataTextField ім'я поля.

РЕДАГУВАННЯ ДАНИХ

Якщо пов'язаної з ЕУ GridView ВД підтримує оновлення, то даний ЕУ може автоматично виконувати редагування даних. Для того щоб це можна було зробити, потрібно в опис компонента, що зв'язує з джерелом даних, додати команди Insert, Update і Delete (его найпростіше зробити за допомогою майстра настройки компонента, використовуючи кнопку "Advanced" і задавши опцію "Generate Insert, Update, і Delete statements ", при цьому повинно бути вибрано ключове поле таблиці).

ЕУ GridView може показувати колонку з відповідними кнопками для кожного рядка таблиці. Для реалізації можливості редагування даних потрібно в описі ЕУ GridView задати властивість Auto-GenerateEditButton = "true". В цьому випадку ЕУ GridView виводить додаткову колонку, як це показано на рис. 4.19.

Відображення даних, що дозволяє виконувати їх редагування і видалення

Мал. 4.19. Відображення даних, що дозволяє виконувати їх редагування і видалення

При виконанні користувачем клацання по кнопці Edit відповідна їй рядок переходить в режим редагування і користувач може змінювати дані в полях поточного запису (рис. 4.20).

Виконання редагування рядка таблиці в ЕУ GridView

Мал. 4.20. Виконання редагування рядка таблиці в ЕУ GridView

 
Якщо Ви помітили помилку в тексті позначте слово та натисніть Shift + Enter
< Попередня   ЗМІСТ   Наступна >
 
Дисципліни
Агропромисловість
Аудит та Бухоблік
Банківська справа
БЖД
Географія
Документознавство
Екологія
Економіка
Етика та Естетика
Журналістика
Інвестування
Інформатика
Історія
Культурологія
Література
Логіка
Логістика
Маркетинг
Медицина
Нерухомість
Менеджмент
Педагогіка
Політологія
Політекономія
Право
Природознавство
Психологія
Релігієзнавство
Риторика
Соціологія
Статистика
Техніка
Страхова справа
Товарознавство
Туризм
Філософія
Фінанси
Пошук