2012-05-12 2 views
-2

У меня две таблицы db, одна из них - таблица категорий, вторая - таблица значений категории.Лучший способ создания dropdownlists в цикле

Для каждой категории мне нужно создать выпадающий список со значениями второй таблицы. Второй шаг - поместить эти динамически созданные dropdownlists в компонент, похожий на formview, для обновления, удалить обновление и получить выделенное значение из GridView, заполненного третьей таблицей db.

Каков наилучший способ для этого?

+0

, пожалуйста, будьте более конкретным с вашим вопросом ... вы хотите выпадающее текстовое поле или радиобудильник? Выбери один. также то, что обновление, вставка, выбор и удаление связаны с вашим вопросом – c0deNinja

+0

, выпадающий список является одним из типов элементов управления, которые я должен добавить в элемент управления, но не важно, я знаю, как это сделать, обновить, выбрать, вставить , delete является фундаментальным, потому что мне нужен компонент (formview, detailsview) для управления SelectedIndex из gridview –

ответ

0

Не зная, как вы получаете данные, трудно дать точный ответ, но есть два широких подхода, которые вы могли бы рассмотреть. Цикл foreach для итерации по категориям, который передает идентификатор категории функции, которая создает раскрывающийся список для этой категории.

foreach category in categories 
{ 
    BuildDropDown(category.ID); 
} 

private void BuildDropDown(int id) 
{ 
    var values = GetValuesByCategoryID(id) 
    foreach value in values 
    { 
    ddl.Items.Add(new ListItem(value, value.Id)); 
    } 
} 

или другой подход заключается в получении всех данных при загрузке страницы. Если данные в таблицах 2, тогда:

SELECT * 
FROM tblCategory AS C 
INNER JOIN tblCategoryValue AS CV ON CV.FKCategoryID = C.CategoryID 

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

Смежные вопросы