我有一个内部有层次结构的表。我正在使用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
答案 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());