public override void ReBindItems() { ProjectNode parentNode = this.Parent as ProjectNode; var mydatabases = Helper.Client.InvokeSync <EJ.Databases[]>("GetDatabaseList", parentNode.Project.id); foreach (var dbitem in mydatabases) { DatabaseItemNode dbnode = this.Children.Where(m => ((DatabaseItemNode)m).Database.id == dbitem.id).FirstOrDefault() as DatabaseItemNode; if (dbnode == null) { dbnode = new DatabaseItemNode(this, dbitem); this.Children.Add(dbnode); } else { dbnode.Database = dbitem; } } for (int i = 0; i < Children.Count; i++) { if (mydatabases.Where(m => m.id == ((DatabaseItemNode)Children[i]).Database.id).Count() == 0) { //删除 this.Children.RemoveAt(i); i--; } } }
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); } }
public override async void OnExpandChanged(bool expanded) { if (_binded) { return; } try { ProjectNode parentNode = this.Parent as ProjectNode; var mydatabases = await Helper.Client.InvokeAsync <EJ.Databases[]>("GetDatabaseList", parentNode.Project.id); if (this.Children.Count == 1 && this.Children[0].Name == "Loading...") { this.Children.Clear(); } _binded = true; foreach (var dbitem in mydatabases) { DatabaseItemNode dbnode = this.Children.Where(m => ((DatabaseItemNode)m).Database.id == dbitem.id).FirstOrDefault() as DatabaseItemNode; if (dbnode == null) { dbnode = new DatabaseItemNode(this, dbitem); this.Children.Add(dbnode); } else { dbnode.Database = dbitem; } } for (int i = 0; i < Children.Count; i++) { if (mydatabases.Where(m => m.id == ((DatabaseItemNode)Children[i]).Database.id).Count() == 0) { //删除 this.Children.RemoveAt(i); i--; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public 数据表Node(DatabaseItemNode parent) : base(parent) { DatabaseItemNode = parent; }