Сортировка Treeview - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет. Есть Treeview, в котором есть след. узлы: 1. текст1 2. текст2 3. текст3 ... 9. текст9 10. текст10 11. текст11 так вот. Я хочу, чтобы он их сортировал именно так, как я указал выше. а сейчас он сортирует так (через treeview1.sort()): 1. текст1 10. текст10 11. текст11 2. текст2 3. текст3 ... 9. текст9 куда копать, подскажите, пожалуйста) спасибо

Решение задачи: «Сортировка Treeview»

textual
Листинг программы
 // treeView1.Sort();
 treeView1.TreeViewNodeSorter = new MySortClass();
          
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
 
      public class MySortClass : IComparer
        {
 
            public int Compare(object _left, object _right)
            {
                TreeNode left = _left  as TreeNode;
                TreeNode right = _right as TreeNode;
                int leftNumber = 0;
                int rightNumber = 0;
    
                System.Text.RegularExpressions.Regex leftRegex = new System.Text.RegularExpressions.Regex(@"\d+");
                System.Text.RegularExpressions.Match leftMatch = leftRegex.Match(left.Text);
                System.Text.RegularExpressions.Regex rightRegex = new System.Text.RegularExpressions.Regex(@"\d+");
                System.Text.RegularExpressions.Match rightMatch = leftRegex.Match(right.Text);
 
                if (leftMatch.Success && rightMatch.Success)
                {
                    leftNumber = Convert.ToInt32(leftMatch.Value);
                    rightNumber = Convert.ToInt32(rightMatch.Value);
                    if (leftNumber != rightNumber)
                      return leftNumber - rightNumber;
                    return 0;
                }                   
               return 0;
                
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5