在DropDown列表中的层次结构中显示类别和子类别

时间:2010-11-17 11:42:54

标签: .net sql-server drop-down-menu asp.net-4.0

我必须在层次结构中的dropdownlist中显示Category和SubCategory,如下所示:

cat1
    --cat11
           ----cat111
           ----cat112
           ----cat113
    --cat12
          ----cat121
          ----cat122
          ----cat123
cat2
     --cat21
           ----cat211
           ----cat212
           ----cat213
     --cat22
          ----cat221
          ----cat222
          ----cat223

我必须从SqlServer数据库中显示它,其中当创建新类别和子类别时,它也会反映在下拉列表中。 我非常需要它。 请尽快回复。 提前致谢。 hariom。

2 个答案:

答案 0 :(得分:1)

您可以按照以下步骤操作 - 查询单个查询中的类别和子类别,如 -

SELECT '-   '+SubCatName AS NameField,SubCatId AS ValueField,CatId FROM SubCat
UNION
SELECT CatName,0,CatId FROM Cat
ORDER BY CatId,SubCatId

禁用cat值 -

foreach (ListItem item in drpDistricts.Items)
{
     if (item.Value.ToString() == "0")
     {
       item.Attributes.Add("Style", "color:maroon");
       item.Attributes.Add("Disabled", "true");
     }
}

如果您想阅读完整的文章,请在我的博客上查看此帖子 http://suvendugiri.wordpress.com/2012/08/26/asp-net-dropdownlist-containing-category-sub-category-hierarchy/

答案 1 :(得分:0)

我建议您使用datareader填充下拉列表。这将循环通过类别。然后,您对每个类别进行单独查询以获取子类别,然后创建项目。抱歉现在不能做示例代码!也许社区可以提供帮助?