2013-04-16 4 views
0

У меня есть TreeStore, и я хочу пройти через его значения в цикле и сравнить некоторые значения с чем-то.Как я могу получить доступ ко всем значениям в TreeStore

Как я могу это сделать?

Я попытался простой цикл вроде

TreeIter iter = new TreeIter(); 

if (Values.GetIterFirst(out iter)) 
{ 
    while (Values.IterNext(ref iter)) 
    { 
     // do something 
    } 
} 

, но это не работает

+0

Если все пункты не являются дети root, вам нужно проверить, какие узлы имеют дочерние элементы, а затем сделать первый и следующий цикл на них. – jeffmagill

+0

не очень, за мой ответ – Petr

ответ

0

Я понял, что Foreach функция может сделать это:

private bool feIter(TreeModel model, TreePath path, TreeIter iter) 
    { 
     if (Values.GetValue(iter, 1) == ObjectStore) 
     { 
      return true; // exit loop 
     } 
     return false; // continue in loop 
    } 

    public void Blah() 
    { 
     Values.Foreach(feIter); 
    } 
Смежные вопросы