Пример #1
0
        public void addNode(string NodeParent, string headerSubItem, TagMultiple TagSubItem)
        {
            try
            {
                foreach (TreeViewItem item in Menu.Items)
                {
                    var          MultiTag = (TagMultiple)item.Tag;
                    TreeViewItem Subitem  = new TreeViewItem();

                    //lo agregar como tipo tres

                    if (item.Items.Count > 0)
                    {
                        foreach (TreeViewItem itemSub in item.Items)
                        {
                            var MultiTagSub = (TagMultiple)itemSub.Tag;
                            if (MultiTagSub.Id_Row == NodeParent.Trim())
                            {
                                Subitem.Name      = "I" + TagSubItem.Id_Row;
                                Subitem.Header    = headerSubItem;
                                Subitem.Tag       = TagSubItem;
                                Subitem.Selected += new RoutedEventHandler(TreeViewItem_Selected);
                                //Subitem.MouseLeftButtonDown += TreeViewItem_Selected;
                                itemSub.Items.Add(Subitem);
                            }
                        }
                    }

                    //lo agregar como tipo 2
                    if (MultiTag.Id_Row == NodeParent.Trim())
                    {
                        Subitem.Name      = "I" + TagSubItem.Id_Row;
                        Subitem.Header    = headerSubItem;
                        Subitem.Tag       = TagSubItem;
                        Subitem.Selected += new RoutedEventHandler(TreeViewItem_Selected);
                        //Subitem.MouseLeftButtonDown += TreeViewItem_Selected;
                        item.Items.Add(Subitem);
                    }
                }
            }
            catch (Exception w)
            {
                MessageBox.Show("*_*" + w);
            }
        }
Пример #2
0
        private async void LoadItems()
        {
            try
            {
                Menu.Items.Clear();
                CancellationTokenSource source = new CancellationTokenSource();
                CancellationToken       token  = source.Token;
                sfBusyIndicator.IsBusy = true;

                var slowTask = Task <DataTable> .Factory.StartNew(() => SlowDude(source.Token), source.Token);

                await slowTask;

                if (((DataTable)slowTask.Result).Rows.Count > 0)
                {
                    foreach (DataRow row in ((DataTable)slowTask.Result).Rows)
                    {
                        TreeViewItem item = new TreeViewItem();
                        item.Cursor   = Cursors.Hand;
                        item.FontSize = 13;

                        if (row["type_item"].ToString().Trim() == "1")
                        {
                            item.Tag = new TagMultiple()
                            {
                                Id_Row         = row["idrow"].ToString().Trim(),
                                NamePnt        = row["name_item"].ToString().Trim(),
                                TipoPnt        = row["type_item"].ToString().Trim(),
                                IsRep          = Convert.ToBoolean(row["id_parm"]),
                                urlRep         = row["reporte"].ToString().Trim(),
                                Id_screen      = Convert.ToInt32(row["id_Screen"]),
                                typePnt        = row["typePnt"].ToString().Trim(),
                                idserver       = Convert.ToInt32(row["idserver"]),
                                serverIp       = row["ServerIP"].ToString().Trim(),
                                userServer     = row["UserServer"].ToString().Trim(),
                                userServerPass = row["UserServerPassword"].ToString().Trim(),
                            };
                            item.Header    = row["name_item"].ToString().Trim();
                            item.Selected += new RoutedEventHandler(TreeViewItem_Selected);
                            //item.MouseLeftButtonDown += TreeViewItem_Selected;

                            Menu.Items.Add(item);
                        }
                        if (row["type_item"].ToString().Trim() == "2")
                        {
                            string parent = row["cod_itemP"].ToString().Trim();

                            TagMultiple tag = new TagMultiple()
                            {
                                Id_Row         = row["idrow"].ToString().Trim(),
                                NamePnt        = row["name_item"].ToString().Trim(),
                                TipoPnt        = row["type_item"].ToString().Trim(),
                                IsRep          = Convert.ToBoolean(row["id_parm"]),
                                urlRep         = row["reporte"].ToString().Trim(),
                                Id_screen      = Convert.ToInt32(row["id_Screen"]),
                                typePnt        = row["typePnt"].ToString().Trim(),
                                idserver       = Convert.ToInt32(row["idserver"]),
                                serverIp       = row["ServerIP"].ToString().Trim(),
                                userServer     = row["UserServer"].ToString().Trim(),
                                userServerPass = row["UserServerPassword"].ToString().Trim(),
                            };

                            string header = row["name_item"].ToString().Trim();
                            addNode(parent, header, tag);
                        }
                        if (row["type_item"].ToString().Trim() == "3")
                        {
                            string parent = row["cod_itemP"].ToString().Trim();

                            TagMultiple tag = new TagMultiple()
                            {
                                Id_Row         = row["idrow"].ToString().Trim(),
                                NamePnt        = row["name_item"].ToString().Trim(),
                                TipoPnt        = row["type_item"].ToString().Trim(),
                                IsRep          = Convert.ToBoolean(row["id_parm"]),
                                urlRep         = row["reporte"].ToString().Trim(),
                                Id_screen      = Convert.ToInt32(row["id_Screen"]),
                                typePnt        = row["typePnt"].ToString().Trim(),
                                idserver       = Convert.ToInt32(row["idserver"]),
                                serverIp       = row["ServerIP"].ToString().Trim(),
                                userServer     = row["UserServer"].ToString().Trim(),
                                userServerPass = row["UserServerPassword"].ToString().Trim(),
                            };

                            string header = row["name_item"].ToString().Trim();
                            addNode(parent, header, tag);
                        }
                    }


                    //item.MouseLeftButtonUp += click;
                }

                sfBusyIndicator.IsBusy = false;
            }
            catch (Exception w)
            {
                MessageBox.Show("Error-" + w);
            }
        }