2012-05-12 43 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,當它改變它的時候發出一個新的下拉迭代。