Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下拉列表和类别子类别_C#_Asp.net_Drop Down Menu - Fatal编程技术网

C# 下拉列表和类别子类别

C# 下拉列表和类别子类别,c#,asp.net,drop-down-menu,C#,Asp.net,Drop Down Menu,我试图将无限类别加载到dropdownlist,但失败。 **Categories** ID, MainCategoryID, CatName, Description, dateCreated, isActive 1, 0, Cars, "blabla", 26.06.2012, True 2, 1, Ferrari, "blabla", 26.06.2012, True 3, 1, Lamborgini, "blabla", 26.06.2012, True 4, 2, F-40, "bla

我试图将无限类别加载到dropdownlist,但失败。

**Categories**
ID, MainCategoryID, CatName, Description, dateCreated, isActive
1, 0, Cars, "blabla", 26.06.2012, True
2, 1, Ferrari, "blabla", 26.06.2012, True
3, 1, Lamborgini, "blabla", 26.06.2012, True
4, 2, F-40, "blabla", 26.06.2012, True
5, 2, F-50, "blabla", 26.06.2012, True
6, 0, Motorbikes, "blabla", 26.06.2012, True

- MainCategory
  -- SubCategory1
  -- SubCategory2
     -- SubSubCategory1
- MainCategory
- MainCategory
  -- SubCategory3
     -- SubSub .. so on

在dropdownlist控件中可以这样做吗?

这绝对是可能的。您只需要一点递归。 可以在sql查询本身中完成

如果您使用的是sql server,则可以使用

如果您对此感到困惑,请发表评论,我将编写查询以向您展示

WITH cat(ord,lev, id, mainID, catName) AS
(
    SELECT ID*POWER(100, 3) AS ord, 1 AS lev, ID, MainCategoryID,CatName FROM test WHERE MainCategoryID =0
    UNION ALL 
    SELECT cat.ord + test.ID * POWER(100, 3-lev) AS ord,lev+1 AS lev, test.ID, test.MainCategoryID, test.CatName AS CatName FROM test INNER JOIN cat ON test.MainCategoryID = cat.ID
)
SELECT * FROM cat ORDER BY ord
lev列提供行的级别。 ord列用于订购项目。此示例允许最多100个ID和3个级别


虽然我在这里对数据进行了排序,但最好在c#中完成,在那里使用递归

为什么不能使用treeview控件?因为我的老板想让我使用dropdownlist:)实际上我无法编写查询。我检查了一些递归查询,但我感到困惑。如果你帮我写,我会很高兴的。非常感谢。谢谢你的代码,但我觉得有个问题。我的意思是它能工作,但我不明白。我是如何订购它们的,比如-maincat,然后是subcats。
查看屏幕截图。是的,这正是我需要的。谢谢你的询问。现在我只需要检查查询并理解逻辑。。。