Есть ли способ динамически установить видимость узлов списка xtra tree?

Я использую xtratreelist в своем приложении только с первым уровнем и хочу сделать видимыми некоторые узлы, но не все. Вот код, но после этого все не отображается в списке

TreeList tr = new Treelist();

for (int x = 0; x < tr.Nodes.Count; x++)
{
    tr.Nodes[x].Visible = false;
}

person Usman Hussain    schedule 20.05.2013    source источник


Ответы (2)


Я предлагаю вам использовать NodesIterator, вот пример, и он работает для меня:

Класс данных:

public class Service
{
    public string Name { get; set; }
    public bool Visible { get; set; }
}

И в моей форме:

private void TreeForm_Load(object sender, EventArgs e)
{
     treeList1.DataSource = Service.GetServices();
     treeList1.NodesIterator.DoLocalOperation(setNodeVisibility, treeList1.Nodes);
}

private void setNodeVisibility(DevExpress.XtraTreeList.Nodes.TreeListNode node)
{
     var service = treeList1.GetDataRecordByNode(node) as Service;
     if (service == null)
         return;

     node.Visible = service.Visible;
}
person SidAhmed    schedule 20.05.2013

Пройдите по следующим ссылкам

НайтиNodeByID

FindNodeByFieldValue

FindNodeByKeyID

person Rajeev Kumar    schedule 20.05.2013
comment
Я получил целевой узел, подобный этому TreeListNode node = tr.FindNodeByKeyID(key_id); узел.Видимый = Ложь; но не скрывая узлы - person Usman Hussain; 20.05.2013
comment
Вы получили какое-либо исключение ?? - person Rajeev Kumar; 21.05.2013