0

内部に階層を持つ単一のテーブルがあります。アクティブレコードを使用しています。これを、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
4

1 に答える 1

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());
于 2009-08-26T18:29:42.673 に答える