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
。小菜一碟:)