Hello Craig,
From what I read, I guess the task is to freeze a specified node to be always at the bottom, no matter which column is sorted.
Notes in this control are related to the nodes and you cannot place a note at the bottom regardless from the nodes.
Custom rendering of the nodes gives the ability to draw the nodes by yourself but it cannot change their location into the tree list.
If the data of your tree list is not bound to a data source I can suggest one approach which can freeze a node to be always at the bottom of your nodes list when sort by a different columns:
Cache the node that you want to be at the bottom so it can be accessed into the whole class or set its Name property so you can filter all nodes by name and find the bottom node. In this case all nodes must have Name property set to some value
Attach to NTreeList.ColumnNotify event and in the event handler do the following:
void nTreeList1_ColumnNotify(object sender, NTreeListColumnNotifyData data)
{
if (data.NotifyCode == NTreeList.ColumnSortingNotifyCode)
{
NTreeNodeNameFilter filter = new NTreeNodeNameFilter(bottomNodeName); //bottomNodeName is a string which represents the name of the bottom node.
ArrayList foundNodes = nTreeList1.Nodes.Filter(filter);
if (foundNodes.Count > 0)
{
nodeAtTheBottom = foundNodes[0] as NTreeListNode;
}
}
if (data.NotifyCode == NTreeList.ColumnSortedNotifyCode)
{
if (nodeAtTheBottom != null)
{
int index = nTreeList1.Nodes.Count - 1;
nTreeList1.Nodes.SetIndex(nodeAtTheBottom, index);
}
}
}
I hope this suggestion works for you.
Best Regards,
Nevron Support Team