日期:2014-05-17  浏览次数:20739 次

关于树,C#中如何处理效率最高?
C#中要对一数据表进行数据树状格式化,请教各位XDJM们,先谢了!

datatable t1 数据如下
f_id    f_name    p_f_id
1       A         0
2       B         0
3       D         1
4       C         1
8       H         5
5       G         4
6       E         2
7       F         0
11      K         5
...

想要得到如下数据格式串:
[{id:1,pid=0,name=A,code=1},
{id:11,pid=1,name=D,code=3},
{id:12,pid=1,name=C,code=4},
{id:121,pid=12,name=G,code=5},
{id:1211,pid=121,name=H,code=8},
{id:1212,pid=121,name=K,code=11},
{id:2,pid=0,name=B,code=2},
{id:21,pid=2,name=E,code=6},
{id:3,pid=0,name=F,code=7},
...]
递归

------解决方案--------------------
你百度一下,什么都有,TreeView递归
------解决方案--------------------
你的数据是Json格式的,那么只要定义一个类来表示每个项即可。
对于原始数据的处理,可以先按照 p_f_id排序,相同的放一起,先取出最小的,也就是顶级的,装入列表中,然后去下一个级别的 p_f_id数据,并从列表中找到对应的相同code值匹配,进行处理,依次类推。