C# 带有列表列表的数据绑定树视图

C# 带有列表列表的数据绑定树视图,c#,winforms,.net-4.0,objectlistview,C#,Winforms,.net 4.0,Objectlistview,我正在尝试将一些层次对象结构放入WinformsTreeView(或一些第三方TreeView)。当然,我可以一个节点一个节点地构建它,但我需要对它进行数据绑定,这样我就不必考虑用户向树视图添加一些节点。我的最高优先级是在数据(由可枚举项表示)和作为GUI组件的TreeView之间保持数据一致性。如果我更改列表,我希望更新树,并反过来将节点插入树中 我的结构如下所示: List<sourcelist> lists = new List<sourcelist>()

我正在尝试将一些层次对象结构放入
Winforms
TreeView
(或一些第三方TreeView)。当然,我可以一个节点一个节点地构建它,但我需要对它进行数据绑定,这样我就不必考虑用户向
树视图添加一些节点。我的最高优先级是在数据(由可枚举项表示)和作为GUI组件的
TreeView
之间保持数据一致性。如果我更改列表,我希望更新树,并反过来将节点插入树中

我的结构如下所示:

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"},
                }}
            };
        //dataTreeListView1.ParentKeyAspectName = "pid";
        //dataTreeListView1.KeyAspectName = "id";
        dataTreeListView1.RootKeyValue = 0;

        dataTreeListView1.SetObjects(lists);
这棵树还是空的。 我认为主要的问题是我不能设置
keyapectname
parentkeyapectname
,这将建立树的层次结构

我还尝试将列表展平,并给它一个id为和
ParentId
的结构,但没有成功。此外,我尝试将列表插入到
数据集中
并绑定该列表失败


对此问题的帮助将不胜感激。

对于数据绑定ObjectListView组件,我认为您必须分配DataSource属性,而不是使用SetObjects()。看一看。但不确定它是否适合您的场景。我也发现了这一点。我没有耍花招。谢谢。你说的“用户向
树视图添加一些节点”是什么意思?你是指开发者还是最终用户?另外:什么是
源列表
?并且:数据是否来自具有连接的DBMS?我指的是最终用户。我已经建立了自己的数据绑定不是很优雅,但仍在工作。感谢您的关注。在这种情况下不要使用数据绑定树。直接使用模型对象即可。创建要查看的列,并设置
CanExpandGetter
ChildrenGetter
。小菜一碟:)