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); }
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(); } }