1. Вступ.

 

DataGrid є потужним засобом відображення даних і у своєму,
найбільш загальному застосуванні, дозволяє відобразити будь-яку таблицю з
бази даних, наприклад:

Це таблиця Employee з навчальної бази даних Pubs, що входить в MS SQL
Server. Як бачимо, DataGrid відобразив всі поля, в тому числі, поля
є ключами для зв'язку з іншими таблицями. Зокрема, полі
job_id, вказане стрілкою, містить ідентифікатори посад
працівників. Самі ж назви посад знаходяться в таблиці jobs,
є батьківського по відношенню до шуканої таблиці.

А як зробити так, щоб у DataGrid (1) відображати тільки потрібні
поля, а поле job_id (2) відображало замість цифр найменування посад.
Та щоб у режимі редагування (3) вибирати ці посади зі списку
прямо в DataGrid.

Вирішуючи це завдання, я знайшов напрочуд мало прикладів по виводу в
DataGrid інформації з батьківської таблиці. Хоча, в той же час,
досить багато відомостей по відображенню записів з підпорядкованої (дочірньої)
таблиці.

Як би там не було, завдання нашу можна вирішити кількома шляхами. Я
спробую показати варіант, який вимагає мінімум коду та кілька
рухів мишки. Благо, Visual Studio.NET дозволяє це зробити. У
процесі рішення задачі будуть виконані кроки зі створення проекту, що
виявиться корисним для початківців розробників ASP.NET

2. Створення проекту

 

Отже, відкриваємо студію і на початковій сторінці вибираємо "Новий
проект ".

У діалоговому вікні вибираємо мову програмування (я вибрав зручний
мені Visual Basic), далі – тип програми. У нас це "Веб-додаток
ASP.NET ". Змінимо ім'я за замовчуванням на осмислене HierarchyDataGrid.

 

Тиснемо кнопку ОК і дивимося, як створюється проект на локальному
Веб-сервер.

Після створення проекту, в оглядач рішень виводиться список
файлів, що входять в наш проект. І бачимо, що в назві проекту я
допустив помилку. Сподіваюся, з Вами цього ніколи не станеться:).

 

 

Виберемо іншу посаду і натиснемо "Оновити". Нові дані збережуться
в базі даних.

Хочу попередити: це всього лише приклад, і я використав тільки
два поля – job_id і job_desc. Але в самій базі вони знаходяться під
взаємозв'язку з іншими полями, тому можливі випадки виникнення
винятків при зміні посад!

 

Поводячи підсумок, знову зроблю застереження, даний варіант не претендує на
винятковість. Я також не намагався пояснювати код, сподіваюся, читач
сам зможе в ньому розібратися і творчо застосувати у своїх власних
додатках.

 

Ця стаття не була б написана без тестового завдання, яке мені дав
Андрій Фільов (Murano Software), а також без допомоги Владислава
Бородіна
(Навчальний центр Support, Санкт-Петербург), який допоміг мені
зробити перші кроки в ASP.NET.

При написанні статті частково були використані матеріали

статті, зокрема функція BindJob.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*