求此算法,高手帮忙解答

pm90125 2011-01-07 01:23:59
一颗树,首先显示总分类如图
然后当点击总分类节点时显示子分类如图

然后点击子分类在显示下一级分类如图



问题来了!如图请看数据库

按原理来说是单击子节点,用子节点的Text去数据库差出对应的下级节点!!但现在数据库设计只有一个大分类节点
其他节点全是用逗号分割!!所以没有办法用除大类(如华商集团)以外的节点去数据库查询!!
问题:
1.我查询出来的数据应该如何保存
2.我应该如何来处理查出来的数据,我想不到好的算法实现
3.如果是截取字符串,我把逗号前第一个截取出来,剩下的数据我又如何处理?
4.求高手指明一个算法!!或给以解决问题明细思路.主要是查询出来以后字符串的细节处理
...全文
156 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
netharry 2011-01-07
  • 打赏
  • 举报
回复
树的数据库结构最好是链式,这样可以避免递归。我做过一个收藏夹,可以无限建子文件夹,只要你不嫌烦。也可以任意移动。
pm90125 2011-01-07
  • 打赏
  • 举报
回复
顶一下 要沉了
yo_yokel 2011-01-07
  • 打赏
  • 举报
回复

string pattern = "(,)";
string input = "apple,apricot,plum,pear,banana";
Regex regex = new Regex(pattern); // Split on hyphens.
string[] substrings = regex.Split(input, 4);
foreach (string match in substrings)
{
Console.WriteLine("'{0}'", match);
}


这种方法可以放入你自己编写的类中,有很多方法可以实现你要求的功能。不过你的结构设计很制约项目的拓展。
yo_yokel 2011-01-07
  • 打赏
  • 举报
回复
treenode's tag is object ,你可以把做一个类用于存贮当前主节点和子节点对应关系,然后显示出来。
pm90125 2011-01-07
  • 打赏
  • 举报
回复
数据库结构改不了了!!这也是我比较郁闷的地方
flyerwing 2011-01-07
  • 打赏
  • 举报
回复
winform就查了,
WEB不行了,就异步调用吧,用非服务器空件的JS+HTML+CSS树算求了.
路伊阑珊 2011-01-07
  • 打赏
  • 举报
回复
你可以存储成这个样子 华商集团,华商分行,设备档案 这样子你就比较方便的找到 属于华商分行的设备档案了


路伊阑珊 2011-01-07
  • 打赏
  • 举报
回复
可以在数据库中进行处理 用CTE进行查询 至于字符串的处理你 可以直接用这个字段进行分组排序 这样就有比较好的层次

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧