亚音速3层次集合创建?

时间:2009-08-25 15:14:52

标签: collections subsonic subsonic3 hierarchical-data

我有一个内部有层次结构的表。我正在使用ActiveRecord。如何将其转换为可以绑定到WinForms或WPF树视图的分层集合?

感谢。

ID  Name    ParentID
1   ALL 1
2   ARGENTINA   1
15  AUSTRALIA   1
16  NW  15
17  BLACKTOWN   16
18  CORLETTE    16
19  PRIMBEE 16
20  TWEED HEADS 16
21  QL  15
22  ASHMORE 21
23  ROBERTSON   21
24  TOOWOOMBA   21
25  TRINITY BEACH   21
26  UNITED STATES   1
27  AK  26
28  CA  26
29  NJ  26
30  NIKISKI 27
31  AMADOR CITY 28
32  MOSS BEACH  28
33  Essex   29
34  Newark  33
35  Ampere  33
36  Avondale    33
37  Beaufort    33

1 个答案:

答案 0 :(得分:3)

创建一个局部类并添加属性Children(或任何有意义的东西)。

public IList<MyClass> Children.

然后,在某个方法(在您的仓库,BLL,无论如何)中,循环和加载:

var items=MyClass.All().ToList();

items.ForEach(x=>x.Children=items.Where(y=>y.ParentID==x.ID).ToList());