Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
80
UltraTree - error while set the first node of tree be invisible
posted

my application requires refreshing nodes in ultra tree. I want to remove or hide some nodes with specific attributes. One of the deleted nodes is the first node added to the tree.

If I set that node visible = false I get the following error:

"The ActiveNode can only be set to a node that belongs to this control."

If I try to remove that node, I get error:

"Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index"

Here is my code:

- Create a new UltraTree with name ultraTree1

 void createTree()
        {
            //the following code causes problem
            ultraTree1.BeginUpdate();

            ultraTree1.Nodes.Clear();
            ultraTree1.Focus();

            UltraTreeNode _n1 = ultraTree1.Nodes.Add("node 1");

            UltraTreeNode _n2 = ultraTree1.Nodes.Add("node 2");

            ultraTree1.ActiveNode = null;
           
            //_n1.Visible = false;
            _n1.Remove();
           
            //the code causing problem
            ultraTree1.EndUpdate();
        }

and the main class:

 public Form1()
        {
            InitializeComponent();

            createTree();//works ok
        
            createTree(); //get error
        }

 

I found out that BeginUpdate() and EndUpdate() cause these errors. It works ok if I comment out BeginUpdate() and EndUpdate(). However, I want to use these methods because my tree has considerable large number of nodes.

Do you have any hot fix for that issue ???

I use Infragistics 9.1

 

 

  • 69832
    Verified Answer
    Offline posted

    There was a recent fix that was applied to 2008.3 and later that might have addressed this;

    you should download the latest version and see if it solves the problem.

    If it doesn't, report it as a bug and in the meantime, try moving the call to the Remove method outside the BeginUpdate/EndUpdate block.

  • 469350
    Suggested Answer
    Offline posted

    Hi Eric,

    I just tested this code and it works fine for me using the latest service release of NetAdvantage 2008 Volume 2.

    So you probably just need to get the latest service release.