Exemple #1
0
        public override async void OnExpandChanged(bool expanded)
        {
            if (_binded)
            {
                return;
            }

            if (this.Parent is DatabaseItemNode)
            {
                DatabaseItemNode databaseItemNode = (DatabaseItemNode)this.Parent;
                var tabenode = (数据表Node)databaseItemNode.Children.FirstOrDefault(m => m is 数据表Node);
                if (tabenode != null && tabenode.Children.Count == 1 && tabenode.Children[0].Name == "Loading...")
                {
                    tabenode.OnExpandChanged(true);
                }
            }
            try
            {
                var modules = await Helper.Client.InvokeAsync <EJ.DBModule[]>("GetDBModuleList", this.Module.DatabaseID.Value, this.Module.id.Value);

                this.Children.Clear();
                _binded = true;
                foreach (var module in modules)
                {
                    DBModuleNode node = new DBModuleNode(this, module);
                    this.Children.Add(node);
                    node.ReBindItems();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 internal TreeNode.DBModuleNode FindDBModule(int moduleid)
 {
     System.Collections.ObjectModel.ObservableCollection <TreeNodeBase> list = tree1.ItemsSource as System.Collections.ObjectModel.ObservableCollection <TreeNodeBase>;
     foreach (TreeNode.ProjectNode projectNode in list)
     {
         foreach (var childnode in projectNode.Children)
         {
             if (childnode is DatabaseNode)
             {
                 foreach (TreeNode.DatabaseItemNode dbnode in childnode.Children)
                 {
                     foreach (var c2 in dbnode.Children)
                     {
                         if (c2 is 数据模块Node)
                         {
                             TreeNode.DBModuleNode result = ((数据模块Node)c2).FindDBModule(moduleid);
                             if (result != null)
                             {
                                 return(result);
                             }
                         }
                     }
                 }
             }
         }
     }
     return(null);
 }
Exemple #3
0
        public override void ReBindItems()
        {
            var modules = Helper.Client.InvokeSync <EJ.DBModule[]>("GetDBModuleList", this.Module.DatabaseID.Value, this.Module.id.Value);

            foreach (var module in modules)
            {
                DBModuleNode node = new DBModuleNode(this, module);
                this.Children.Add(node);
                node.ReBindItems();
            }
        }