2016-10-03 10 views
3

TreeStoreとTreeIterを指定すると、親を削除せずにすべての子ノードを親から削除するにはどうすればよいですか?これらのどれも選択されておらず、親の下にあるノードのセットを消去したいだけです。Gtk.TreeStoreから親TreeIterからすべての子ノードを削除するには?

ParentNode 
    +- Child 1 
    +- Child 2 
    +- Child 3 

したがって、「Child 1-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); 

答えて

1

このお試しください: "@iterは、そのレベルで次の有効なローに設定されている"

while (this.game_store.Remove (ref i)); 

Documentation of Remove function saysを"@iterが有効な場合は%TRUEを返し、そうでない場合は%FALSEを返します。"

+0

ああ、私は本当に店のコアコンセプトを理解していません。 –

関連する問題