【Dev TreeList】顺序遍历树节点
如树形结构:

比如"新增行3.2"这个节点:
PreNode是新增行3.1
NextNode没有的
也就是说PreNode、NextNode针对同级别的还是有点用的,但是有不同级别还是不行的。
处理思路:
#region 根据界面树结构, 构造顺序的List
/// <summary>
///根据界面的树形结构节点,生成顺序的节点List
///把TreeList转成List<TreeListNode>,然后顺序遍历TreeListNode
///</summary>
///<returns></returns>
private List<TreeListNode> getTreeListNodeWithSort()
{
List<TreeListNode> nodeList = new List<TreeListNode>();
for (int i = 0; i < m_dgv.Nodes.Count; i++)
{
nodeList.Add(m_dgv.Nodes[i]);
TreeListNode node = m_dgv.Nodes[i];
if (node.Nodes.Count > 0)
{
addTreeListNodeWithSort(node, nodeList);
}
}
return nodeList;
}
/// <summary>
/// 顺序添加子节点
/// </summary>
private void addTreeListNodeWithSort(TreeListNode _ParentNode, List<TreeListNode> _nodelist)
{
if (_ParentNode.Nodes.Count > 0)
{
for (int i = 0; i < _ParentNode.Nodes.Count; i++)
{
///插入节点
_nodelist.Add(_ParentNode.Nodes[i]);
TreeListNode node = _ParentNode.Nodes[i];
addTreeListNodeWithSort(node, _nodelist);
}
}
}
#endregion

浙公网安备 33010602011771号