2012-06-28 53 views
0

我使用数据集从数据库填充了treelist。TreeView - 如何从数据绑定中设置父节点

tree.ItemsSource = new _e_shopping24CategoriesParentTableAdapters.CategoriesTableAdapter().GetData(); 

有数据集中的3个表:

  1. IDCategory
  2. 名称
  3. 家长

我设置的DisplayMemberPath名称。但我找不到任何将父节点设置为树的参数。

所以我的TreeView是这样的:

  • 饮料
  • 百事可乐
  • 可口可乐
  • 汽车
  • 斯巴鲁
  • 奔驰

但我想:

  1. 饮料
    1. 百事可乐
    2. 可口可乐
  2. 汽车
    1. 斯巴鲁
    2. 奔驰

谁能告诉我如何解决这个问题? Thaks很多。

+0

你能否解释一下你的数据库表的结构,这个答案很重要,我不认为有办法让它自动读取树。但是,如果您发布数据库结构,我可以帮助您手动填充树 – jimmyjambles

+0

谢谢您的回答。我认为有一种方法可以自动填充。我知道如何手动填充它。 – BeerMaker

回答

0

我相信你将需要创建和填充数据结构,其中每个类别包含的项目清单:

public class Category 
{ 
    private readonly IList<Item> _items; 

    public Category() 
    { 
     _items = new List<Item>(); 
    } 

    public int id { get; set; } 
    public string Name { get; set; } 
    public IList<Item> Items { get { return _items; } } 
} 

public class Item 
{ 
    public int id { get; set; } 
    public string Name { get; set; } 
} 

然后,您将需要为您的TreeView创建一个HierarchicalDataTemplate。请参阅MSDN了解如何创建一个示例。

相关问题