用于在自连接表中的嵌套中显示无限类别树的逻辑
请帮我解决我的大问题。
在我的在线购物项目中,我创建了一个动态类别列表(具有无限级别深度),通过自连接在数据库中的单个表中实现。 架构如下所示:
(来源:aspalliance.com)
更新
我想使用 JQuery 插件制作多级菜单栏。该插件使用
元素,因此我应该将数据库表转换为
。结果应该是这样的:
和
和
<ul>
<li>Clothing 1
<ul>
<li>Trousers 2
<ul>
<li>Mens trousers 3</li>
<li>Ladies trousers 3</li>
</ul>
</li>
<li>Jackets 2</li>
<li>Shirts 2</li>
<li>Shoes
<ul>
<li>Mens shoes 3
<ul>
<li>Mens formal shoes 4</li>
<li>Mens casual shoes 4</li>
</ul>
</li>
<li>Kids shoes 3</li>
<li>Ladies shoes 3</li>
</ul>
</li>
</ul>
</li>
<li>Cars 1
<ul>
<li>Small cars 2</i>
</ul>
</li>
</ul>
我可以使用嵌套数据控件(如转发器控件),但你知道,通过这个解决方案,我只能实现一个具有非无限分层树结构的列表。
请帮助我!有什么建议吗?我用谷歌搜索了网络,但没有找到合适的方法。我使用 ASP.net 3.5 和 LINQ。
最好的方法是什么?
Please help me solve my big problem.
in my on-line shopping project i created a dynamic Category List (with Infinite Level Depth) Implemented in a Single Table in DB with Self join.
the schema is like below:
(source: aspalliance.com)
Update
I want to use a JQuery plugin to make a Multi Level Menu bar. this plugin uses <ul>
and <li>
elements so I should transform the DB table to <ul>
and <li>
. the result should like this:
<ul>
<li>Clothing 1
<ul>
<li>Trousers 2
<ul>
<li>Mens trousers 3</li>
<li>Ladies trousers 3</li>
</ul>
</li>
<li>Jackets 2</li>
<li>Shirts 2</li>
<li>Shoes
<ul>
<li>Mens shoes 3
<ul>
<li>Mens formal shoes 4</li>
<li>Mens casual shoes 4</li>
</ul>
</li>
<li>Kids shoes 3</li>
<li>Ladies shoes 3</li>
</ul>
</li>
</ul>
</li>
<li>Cars 1
<ul>
<li>Small cars 2</i>
</ul>
</li>
</ul>
I can use a nested data control(like repeater control) but you know, with this solution i just can implement a list with non-infinite hierarchical tree structure.
please help me! any suggestion?? I googled the web but not a suitable way found. I use ASP.net 3.5 and LINQ.
what is the best way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用这种递归方法
像这样
Use this recursive method
like this
我认为 ASP.NET
TreeView< /code>
是你的朋友。
也请查看此处。
另外,您可能想要使用动态创建的嵌套 DataGrid 或中继器,这里是一个示例(您可以将其设为动态,以便以编程方式生成嵌套(甚至父级)中继器。
更新
请参阅此页面上的示例 5。
我建议通过服务器生成 jQuery 代码,这样您可以更轻松地控制菜单和 jQ 生成的菜单。
I think ASP.NET
TreeView
is your friend.Take a look here too.
Also, you might want to use a dynamically created nested DataGrid or Repeater, here is an example (you can make it dynamic, so the nested (or even the parent) repeaters are genenerated programmatically.
Update
See example 5 on this page.
I would recommend generating the jQuery code by server, so it's easier for you to control both the menus and the jQ generated menus.