C# 如何从Gtk.TreeStore的父树删除所有子节点?
给定一个TreeStore和TreeIter,如何在不删除父节点的情况下从父节点中删除所有子节点?这些都未选中,只想清除父节点下的一组节点C# 如何从Gtk.TreeStore的父树删除所有子节点?,c#,gtk#,C#,Gtk#,给定一个TreeStore和TreeIter,如何在不删除父节点的情况下从父节点中删除所有子节点?这些都未选中,只想清除父节点下的一组节点 ParentNode +- Child 1 +- Child 2 +- Child 3 因此,删除“child1-3”并保留ParentNode 这需要以某种方式循环: TreePath p = this.game_store.GetPath (this.players_iter); p.Down ();
ParentNode
+- Child 1
+- Child 2
+- Child 3
因此,删除“child1-3”并保留ParentNode
这需要以某种方式循环:
TreePath p = this.game_store.GetPath (this.players_iter);
p.Down ();
TreeIter i = new TreeIter ();
this.game_store.GetIter (out i, p);
this.game_store.Remove (ref i);
尝试clear()方法
供参考:
试试这个:
while (this.game_store.Remove (ref i));
:
@iter已设置为该级别的下一个有效行
“如果@iter仍然有效,则返回%TRUE;如果无效,则返回%FALSE。”啊,太简单了,我真的不理解商店的核心概念。