Мені було призначено створити сторінку контактівза допомогою ASP.NET. У мене є GridView, який відображає всі контакти з DropDownList ItemTemplate у стовпці "Номер телефону". Клієнт може мати кілька телефонних номерів, тому в моїй базі даних є дві таблиці: Клієнт і Телефон (із Клієнтом FK). Зараз я використовую елемент керування SqlDataSource для заповнення мого GridView та іншого SqlDataSource для телефонних номерів. Наразі DDL заповнює ВСІ телефонні номери в таблиці Телефон, але я хочу лише, щоб він відображав номери для правильного контакту. Чи є простий спосіб це зробити?
Відповіді:
0 для відповіді № 1Думаю, ви могли б зробити це двома способами.
1) Ви можете написати один запит SQL, який поверне щось на зразок:
CONTACT NAME | PHONE NUMBER
-----------------------------------
JOHN | 555-555-5551
JOHN | 555-555-5552
JANE | 555-555-5553
І тоді ваша ділова логіка може проаналізувати результати на правильні DataSet
, DataTable
, Enumerable
, або все, що ви "прив'язуєте до свого GridView
.
2) Ви можете написати один SQL-запит, щоб отримати усі контакти, прив’язавши його до свого GridView
, прокрутити всі контакти, запитуючи окремо номери телефонів цього контакту, а потім прив’язати ці результати до випадаючого списку, що міститься в записі для цього контакту.
Я віддаю перевагу першому, але будь-який з них повинен бути в порядку.