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
245
Unhandled ArgumentOutOfRangeException thrown by UltraTree
posted

So we have a tree with a bound data set, several data tables showing like a Top level node and one child 'band' with cells. We bound the data set (tree1.SetDataBinding(ds, null), then user edits the value of one cell, we clear the column sets using tree1.ColumnSettings.ColumnSets.Clear(), re-build the data set and bind it again. We expand all nodes by default, so if I go and collapse any node(or click on the 'top level' node) in the tree control at this point, without selecting any nodes in the tree I get the following exception thrown apparently by Infragistics internal (see exception stack below).

There is one peculiarity that I noticed - if I first select one of the columns of the 'child' band - I see no problem from that point on until I repeat the change cell-rebind cycle...

We had this problem with tree version 8.2 and just upgraded to UT 9.2.20092.2017 with the same result. What could be causing something like that? Thanks!

 

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.Collections.ArrayList.get_Item(Int32 index)
   at Infragistics.Win.UltraWinTree.TreeNodeCellsCollection.GetCell(Int32 index)
   at Infragistics.Win.UltraWinTree.TreeNodeCellsCollection.get_Item(UltraTreeNodeColumn column)
   at Infragistics.Win.UltraWinTree.UltraTree.get_ActiveCell()
   at Infragistics.Win.UltraWinTree.UltraTreeNode.internalExpand(Boolean value, Boolean notify, Boolean updateVisibleNodes)
   at Infragistics.Win.UltraWinTree.UltraTreeNode.set_Expanded(Boolean value)
   at Infragistics.Win.UltraWinTree.UltraTreeNode.Toggle()
   at Infragistics.Win.UltraWinTree.ExpansionIndicatorUIElement.Toggle()
   at Infragistics.Win.ExpansionIndicatorUIElement.OnMouseDown(MouseEventArgs e, Boolean adjustableArea, UIElement& captureMouseForElement)
   at Infragistics.Win.ControlUIElementBase.ProcessMouseDownHelper(Object sender, MouseEventArgs e)
   at Infragistics.Win.ControlUIElementBase.ProcessMouseDown(Object sender, MouseEventArgs e)
   at Infragistics.Win.Utilities.ProcessEvent(Control control, ProcessEvent eventToProcess, EventArgs e)
   at Infragistics.Win.UltraControlBase.OnMouseDown(MouseEventArgs e)
   at Infragistics.Win.UltraWinTree.UltraTree.OnMouseDown(MouseEventArgs e)
   at System.Windows.Forms.Control.WmMouseDown(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

 

Parents
  • 69832
    Offline posted

    ExelonPowerteam said:
    What could be causing something like that?

    SImply put, removing the ColumnSets is what causes that. The control is in a state where it expects the Cells collection to be alive and if you remove all the ColumnSets it won't be. Strictly speaking this is probably a bug in that we should be degrading gracefully under these circumstances, so you might  want to report this. You didn't state what notification you were responding to in order to clear the ColumnSets collection, but if you do it somewhere else you can probably work around this. For example, after the edit mode session ends, you could deactivate the cell (set ActiveCell to null) and do it then.

Reply Children