0
我有一个Winforms Treeview,其中有几个级别和分支的节点。树中节点的位置很重要。我需要有一些分支未排序,而树视图中的其余节点排序。我还需要能够根据用户输入通过代码打开/关闭排序。关闭TreeView分支的排序
从我能读的和谷歌的winform treeview组件只能被整理排序或未排序。全部或没有。这是正确的,所以我必须自己写分类机制,或者我错过了什么?
我有一个Winforms Treeview,其中有几个级别和分支的节点。树中节点的位置很重要。我需要有一些分支未排序,而树视图中的其余节点排序。我还需要能够根据用户输入通过代码打开/关闭排序。关闭TreeView分支的排序
从我能读的和谷歌的winform treeview组件只能被整理排序或未排序。全部或没有。这是正确的,所以我必须自己写分类机制,或者我错过了什么?
我不知道忽略树枝当谈到排序,但如果你只是想排序一个分支,你可以试试这个老派的方法:
private void SortBranch(TreeNode parentNode) {
TreeNode[] nodes;
if (parentNode == null) {
nodes = new TreeNode[treeView1.Nodes.Count];
treeView1.Nodes.CopyTo(nodes, 0);
} else {
nodes = new TreeNode[parentNode.Nodes.Count];
parentNode.Nodes.CopyTo(nodes, 0);
}
Array.Sort(nodes, new TreeSorter());
treeView1.BeginUpdate();
if (parentNode == null) {
treeView1.Nodes.Clear();
treeView1.Nodes.AddRange(nodes);
} else {
parentNode.Nodes.Clear();
parentNode.Nodes.AddRange(nodes);
}
treeView1.EndUpdate();
}
THX,猜测它是如我所料,我必须自己做=) –