2
나는 비교기를 쓴 나는 Node.Tag.ToString()
하지 theire Text
으로하는 TreeView
하지만 내가 비교해야의 부모 노드를 구현하고자합니다. 지금까지 내가 보았 듯이 TreeView.Sort()
을 사용하여 과부하 또는이 작업을 수행하는 다른 기능은 없습니다.정렬 트 리뷰 노드
방법이나 해결 방법이 있습니까?
나는 비교기를 쓴 나는 Node.Tag.ToString()
하지 theire Text
으로하는 TreeView
하지만 내가 비교해야의 부모 노드를 구현하고자합니다. 지금까지 내가 보았 듯이 TreeView.Sort()
을 사용하여 과부하 또는이 작업을 수행하는 다른 기능은 없습니다.정렬 트 리뷰 노드
방법이나 해결 방법이 있습니까?
IComparer가있는 경우 TreeViewNodeSorter 속성을 설정 한 다음 Sort를 호출하여 노드를 원하는대로 정렬 할 수있는 것처럼 보입니다. 해당 링크를 기반으로
예 -, 아니 널 (null) 검사 등을 시도하지 만 작동합니다 :
곳public class NodeSorter : IComparer
{
public int Compare(object x, object y)
{
TreeNode tx = x as TreeNode;
TreeNode ty = y as TreeNode;
return string.Compare(tx.Tag.ToString(), ty.Tag.ToString());
}
}
그런 treeView1.TreeViewNodeSorter = new NodeSorter();
당신의 설정에서.
그래,하지만이 태그는'Tag'가 아닌'Text'를 기반으로합니다. –
@ Sean87 :이 예제의'public class NodeSorter'를 링크의 맨 아래쪽으로 보면, 전달 된 객체 'IComparer'는 단지 텍스트가 아닌'TreeNode' 자체입니다. 이 예제는 여전히'Text' 속성 (내용보다는 길이로 정렬)을 사용하지만'Tag' 속성을 사용하면 안되는 이유는 없습니다. 예를 들어 편집 할 수 있습니다. – Rawling
네 말이 맞다! 나는 노드의 텍스트를 전달하고 있었다! 얼마나 한심한가! 고마워요! –