我有一个看起来像这样的CheckedListBox:
- 水果
- .....香蕉
- .....苹果
- 国家
- 汽车
- .....马鲁蒂
- .....丰田
- 飞机
- 学生
- 动物
虽然斜体的节点实际上不是子节点,但被视为父节点的子节点。例如。 香蕉和苹果是水果的子元素,所以它们在一起等等。
直接排序不起作用,因为这不会将子节点与其父节点保持在一起。 我必须以这样的方式对其进行排序,即子节点与各自的父节点保持一致,父节点被排序,每个父节点中的子节点也被排序。
对于例如。 o/p 应该是
- 动物
- 汽车
- .....马鲁蒂
- .....丰田
- 国家
- 水果
- .....苹果
- .....香蕉
- 飞机
- 学生
最佳答案
您可以创建一个 List
- 水果
- 水果香蕉
- 水果苹果
- 国家
- 汽车
- 汽车马鲁蒂
- 汽车丰田
- 飞机
对它进行排序(按字母顺序)后,父级将被排序为位于子级的前面。然后从排序后的 List
如果存在潜在的歧义,您可能需要使用不同的分隔符,否则不会使用某些字符。
关于c# - 如何对 CheckedListBox 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25013670/