Example #1
0
        private ЭлементДерева  аскрытьАдрес(ЭлементДерева Элемент)
        {
            Дерево.CollapseAll();
            ТекущийАдрес = Элемент.Адрес;

            Элемент.Ветвь.Expand();

            return(Элемент);
        }
Example #2
0
        private void УдалитьНаЭкране(ЭлементДерева Элемент)
        {
            if (Элемент.Ветвь != null)
            {
                Элемент.Ветвь.Remove();
            }

            Элемент.Ветвь = null;
            Дерево.Update();
        }
Example #3
0
 private void ЗаполнитьСобранноеДерево()
 {
     Дерево.Focus();
     Дерево.Nodes.Clear();
     foreach (var Строка in ПолноеДерево)
     {
         if (!Строка.ЭтоКорень)
         {
             Дерево.Nodes.Add(Строка.ToString());
         }
     }
 }
Example #4
0
        private void ЗаполнитьПолноеДерево_ВПамяти()
        {
            Дерево.Focus();
            Дерево.Nodes.Clear();
            TreeNode      КореньАдрес   = null;
            ЭлементДерева ВыбранаСтрока = null;
            ЭлементДерева Корень        = null;

            ПолноеДерево.Clear();
            Дерево.CollapseAll();
            foreach (var Строка in Последовательность.ОтветСервера)
            {
                if (Строка[0] == "ЗавершитьЗагрузкуДанных")
                {
                    break;
                }
                if (Строка[0] == "ДобавитьКорень")
                {
                    Корень = new ЭлементДерева(КореньАдрес, Строка[1], Строка[2]);
                    ПолноеДерево.Add(Корень);
                    if ((Строка.Count() == 4 && Строка[3] == "Раскрыть"))
                    {
                        ТекущийАдрес = Строка[1];
                    }

                    continue;
                }

                if (Корень != null)
                {
                    //root , СтрокаСТоваром, Адрес,   EAN , "" ,   GUID,       Код,        Наименование,int КоличествоСобрано,int КоличествоТребуется, int КоличествоОстаток,
                    ЭлементДерева Элемент = new ЭлементДерева(false, null, Корень.Адрес, Строка[0], Строка[1], Строка[2], Строка[3], Строка[4], Строка[5], Строка[6], Строка[7]);
                    if (Строка.Count() > 8 && Строка[8] == "Выбрать")
                    {
                        ВыбранаСтрока = Элемент;
                    }
                    ЗаполнитьОстальныеEAN(Строка, Элемент);
                    ПолноеДерево.Add(Элемент);
                    continue;
                }
            }

            ЗаполнитьДеревоНаЭкране();

            if (ВыбранаСтрока != null)
            {
                Дерево.SelectedNode = ВыбранаСтрока.Ветвь;
            }
        }
Example #5
0
        private void ЗаполнитьДерево()
        {
            Дерево.Focus();
            Дерево.Nodes.Clear();
            TreeNode      КореньАдрес   = null;
            TreeNode      ВыбранаСтрока = null;
            ЭлементДерева Корень        = null;

            Дерево.CollapseAll();
            foreach (var Строка in Последовательность.ОтветСервера)
            {
                if (Строка[0] == "ЗавершитьЗагрузкуДанных")
                {
                    break;
                }
                if (Строка[0] == "ДобавитьКорень")
                {
                    ДобавитьАдрес(ref КореньАдрес, ref Корень, Строка);
                    continue;
                }

                if (КореньАдрес != null)
                {
                    ВыбранаСтрока = ДобавитьТовар(КореньАдрес, ВыбранаСтрока, Корень, Строка);
                    continue;
                }
            }
            if (КореньАдрес != null)
            {
                Дерево.Nodes.Add(КореньАдрес);
            }
            if (ВыбранаСтрока != null)
            {
                Дерево.SelectedNode = ВыбранаСтрока;
            }
        }
        private void ОбновитьДерево(string filter)
        {
            Дерево.BeginInit();
            var cv = (CollectionView)CollectionViewSource.GetDefaultView(СписокТипов);

            if (cv != null)
            {
                cv.GroupDescriptions.Clear();
                cv.SortDescriptions.Clear();
                cv.Filter = new Predicate <object>(delegate(object obj)
                {
                    var item = obj as RosService.Configuration.Type;
                    if (item == null)
                    {
                        return(false);
                    }
                    return(item.Описание.ToLower().Contains(Convert.ToString(filter).ToLower()));
                });
                cv.SortDescriptions.Add(new SortDescription("Namespace", ListSortDirection.Ascending));
                cv.SortDescriptions.Add(new SortDescription("Описание", ListSortDirection.Ascending));
                cv.GroupDescriptions.Add(new PropertyGroupDescription("Namespace"));
                Дерево.ItemsSource = cv.Groups.Cast <CollectionViewGroup>().Select(p => new RosControl.UI.TreeViewItem()
                {
                    Header      = p.Name,
                    IconType    = 270,
                    IsExpanded  = !string.IsNullOrEmpty(filter),
                    ItemsSource = p.Items.Cast <RosService.Configuration.Type>().Select(g => new RosControl.UI.TreeViewItem()
                    {
                        Header   = g.Описание,
                        IconType = g.Name,
                        Tag      = g.Name
                    })
                });
            }
            Дерево.EndInit();
        }