2012-05-12 42 views
-2

我有一个两个分表,一个是类别表,第二个是类别值表。在循环中创建下拉列表的最佳方法

对于每个类别,我需要使用第二个表的值创建一个下拉列表。 第二步是将这些动态创建的下拉列表放入类似于formview的组件中以更新,删除更新并从GridView中获取由第三个数据库表填充的SelectedValue。

这样做的最好方法是什么?

+0

请更具体的与您的问题...你想要一个下拉文本框或单选按钮?选一个。更新,插入,选择和删除与你的问题有什么关系 – c0deNinja

+0

下拉列表是我必须放在控件中的控件类型之一,但并不重要我知道如何做到这一点,更新,选择,插入,删除是基本的,因为我需要一个组件(formview,detailsview)来从GridView管理SelectedIndex –

回答

0

不知道如何获取数据很难给出准确的答案,但有两种可以考虑的广泛方法。循环遍历类别的foreach循环,它将类别id传递给构建该类别的下拉列表的函数。

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 

然后调用,并通过跟踪类别ID,当它改变它的时候发出一个新的下拉迭代。