저는 C#/Entity Framework에 비교적 익숙하며 Entity Framework 4.0에서 작동하는 Treeview 컨트롤/HierachicalDataTemplate을 얻으 려하고 뭔가 부족합니다. (PK, INT, null이 아닌)Entity Framework를 사용한 Treeview 컨트롤
divId는;
나는 자체 참조 테이블이 divname (nchar (100), not null); divshortname (nchar (50), not null); parentid (FK, int, null); orgid (FK, INT, null이 아닌)
내가 엔티티 프레임 워크에 'orghierarchy'로 테이블을로드하고 자기의 관계 '아이'와 단면 '부모'의 다양한 측면을 명명했다.
나는, 따라서 ObservableCollection에 만들기 :
private ObservableCollection<orghierarchy> _firstgeneration;
public ObservableCollection<orghierarchy> FirstGeneration
{
get
{
if (OrgID != 0)
{
_firstgeneration = SetDivTree(OrgID);
}
return _firstgeneration;
}
set
{
if (value != _firstgeneration)
_firstgeneration = value;
}
}
public ObservableCollection<orghierarchy> SetDivTree(int _orgid)
{
ObservableCollection<orghierarchy> _temp;
using (var context = new IFREntities())
{
var divs = from orghierarchies in context.orghierarchies.Include("child")
where orghierarchies.orgid == _orgid & orghierarchies.parentid == null
orderby orghierarchies.divshortname
select orghierarchies;
_temp = new ObservableCollection<orghierarchy>(divs);
}
return _temp;
}
은 ".Include는"다시 코드를 단계별로 기반으로 쿼리와 모든 자식 행을 가져올 것으로 보인다.
내 XAML은
<TreeView x:Name="DivHierarchy" Margin="8" Grid.Row="5" Grid.Column="1" Grid.ColumnSpan="3" ItemsSource="{Binding FirstGeneration}" >
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding FirstGeneration.child}">
<TextBlock Text="{Binding divname}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.Background>
<SolidColorBrush Color="{DynamicResource BigCtrlBackground}"/>
</TreeView.Background>
내 트 리뷰가 비어 나는 문제가있을 수 있습니다 모르겠어요입니다.
안녕하세요, @ DeeDub84 -이 작업을 수행하셨습니까? 그렇다면 나는 그 해답을 실제로 얻는다. 고마워 무리 :) 그것을 밖으로 일하길 바래. – Rachael