0
我有一個表(Hesab)白3字段(ID,Name,FatherID),並使用EF。如何從DataBase填充TreeView
ID fatherID名稱
1 NULL甲
2 NULL乙
3 2 C
4 1 d
5 4 E
6 4 F
7的3G
8 1小時
,我想填寫該表格在樹視圖
樹必須填寫這樣 甲 -D --F --e - ħ 乙 -C --g
我創建此類
class Hesabs:Hesab
{
public Hesabs()
{
AllHesab = new ObservableCollection<Hesab>();
}
public ObservableCollection<Hesab> AllHesab { get; set; }
}
和視圖模型
public ObservableCollection<Hesabs> AllHesab { get; set; }
public ObservableCollection<Hesabs> FirstHesab { get; set; }
public ViewModelHesabs()
{
CRMEntities crm=new CRMEntities();
var ls = from h in crm.Hesab
where (h.FatherID == null)
select h;
ObservableCollection<Hesabs> hes = new ObservableCollection<Hesabs>();
foreach (Hesab hh in ls.ToList())
{
var ls2 = from h in crm.Hesab
where (h.FatherID == hh.ID)
select h;
Hesabs hesab = new Hesabs();
hesab.Name = hh.Name;
hesab.ID = hh.ID;
hesab.AllHesab = new ObservableCollection<Hesab>(ls2.ToList());
hes.Add(hesab);
}
FirstHesab = hes;
}
和XAML
<TreeView ItemsSource="{Binding FirstHesab}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding AllHesab}" DataType=" {x:Type local:Hesabs}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Tag="{Binding ID}"/>
</StackPanel>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
</TreeView>
但填2級:(
非常感謝... – 2011-10-22 10:02:54