具有列表列表的数据绑定TreeView

时间:2014-11-11 20:03:32

标签: c# winforms .net-4.0 objectlistview

我试图将一些分层对象结构转换为Winforms TreeView(或某些第三方树视图)。当然我可以逐个节点地构建它,但我需要将数据绑定,因此我不必照顾用户将一些节点添加到TreeView。我的最高优先级是使数据(由Enumerable表示)和TreeView之间的数据一致性作为GUI组件。如果我更改了List,我希望更新树并将节点插入到树中。

我的结构如下:

List<sourcelist> lists = new List<sourcelist>()
            {
                new sourcelist() {
                    name = "List1", 
                    items = new List<item>()
                {
                    new item() {source_key = "abc", name = "Pete"},
                }},
                new sourcelist() {
                    name = "List2"
                },
                new sourcelist() {
                    name = "List3", 
                    items = new List<item>()
                {
                    new item() {source_key = "y0h5l2VsrL", name = "Lisa"},
                    new item() {name = "Kara"},
                }}
            };

基本上一些名称的源列表包含具有名称和键的项目列表

许多建议引导我ObjectListView,但我也愿意接受更好的解决方案。

我试着这样:

        //dataTreeListView1.ParentKeyAspectName = "pid";
        //dataTreeListView1.KeyAspectName = "id";
        dataTreeListView1.RootKeyValue = 0;

        dataTreeListView1.SetObjects(lists);

树只是空的。 我认为主要问题是我无法设置KeyAspectNameParentKeyAspectName来构建树的层次结构。

我还尝试将列表展平并给它一个id为ParentId的结构,但没有成功。此外,我尝试将List插入DataSet并将其绑定失败。

真的很感激帮助解决这个问题。

0 个答案:

没有答案