Search code examples
c#devexpressxtratreelist

Change TreeListNode Index (Position) in DevExpree TreeList Control


I'm using DevExpree XtraTreeList Control, I want to randomly Set one of the first levels nodes to be the first node in the Tree, nothing helpful shown in the TreeList Control's Methods nor in the TreeListNode Methods,

Please Advice.

Edit: My Code

 private void btnSetMaster_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
        {
            //Load reprot
            if (treeLstRprtDS.FocusedNode != null)
            {
                treeLstRprtDS.SetNodeIndex(treeLstRprtDS.FocusedNode,0);
                //Get selected underlying object
                ReportDataSource rprtDataSourceSelected =
                    (ReportDataSource)treeLstRprtDS.GetDataRecordByNode(treeLstRprtDS.FocusedNode);
                theReport.SetReportDataSourceAsMaster(rprtDataSourceSelected);
            }
        }

Edit:

Note: working on bound mode


Solution:

I implemented the CompareNodeValues Event for the XtrTreeList Control Read here...

and then forced the tree to do sorting using Column.SortIndex Read here...


Solution

  • Do you wish to scroll the TreeList so that a certain node to be the top one? If so, use the TreeList's TopVisibleNodeIndex property. If you need a certain node to be the first one, you should sort the TreeList within its CompareNodeValues event handler.