public string GetRoleTree(int activityId) { List <CommonAttribute> selectedRoleList = null; if (activityId > 0) { selectedRoleList = service.GetDataList("t.*", "inner join OA_ACTIVITY_ROLE ar on ar.roleid=t.id", "and ar.activityid=" + activityId); } List <CommonAttribute> roleList = service.GetDataList("t.*", "", ""); Models.Tree root = new Models.Tree(); root.id = "0"; root.text = "所有角色"; root.state = new Models.State(); root.state.opened = true; List <Models.Tree> children = new List <Models.Tree>(); foreach (CommonAttribute role in roleList) { Models.Tree child = new Models.Tree(); child.id = role.Id.ToString(); child.text = role.Name.ToString(); if (selectedRoleList != null && selectedRoleList.Exists(r => r.Id == role.Id)) { child.state = new Models.State(); child.state.selected = true; } children.Add(child); } root.children = children; return(Newtonsoft.Json.JsonConvert.SerializeObject(root)); }
private TreeNode CreateTreeView(Models.Tree _acc) { if (_acc == null) { return(null); } TreeNode tn = new TreeNode(); tn.Text = _acc.Name; tn.Tag = _acc; _acc.ModifyStauts = 0; if (_acc.Child == null || _acc.Child.Count == 0) { return(tn); } foreach (var a in _acc.Child) { tn.Nodes.Add(CreateTreeView(a)); } return(tn); }
public string GetUserTree(int roleId) { List <CommonAttribute> selectedUserList = null; if (roleId > 0) { selectedUserList = service.GetDataList("t.*", "inner join oa_user_role ur on ur.userid=t.id", "and ur.roleid=" + roleId); } List <CommonAttribute> userList = service.GetDataList("t.*", "", ""); Models.Tree root = new Models.Tree(); root.id = "0"; root.text = "所有用户"; root.state = new Models.State(); root.state.opened = true; List <Models.Tree> children = new List <Models.Tree>(); foreach (CommonAttribute user in userList) { Models.Tree child = new Models.Tree(); child.id = user.Id.ToString(); child.text = user.Name.ToString(); if (selectedUserList != null && selectedUserList.Exists(u => u.Id == user.Id)) { child.state = new Models.State(); child.state.selected = true; } children.Add(child); } root.children = children; return(Newtonsoft.Json.JsonConvert.SerializeObject(root)); }
private void NewAccount(TreeNode node, Models.Tree t) { TreeNode tn = new TreeNode(); tn.Text = t.Name; if (t.GetType() == typeof(Models.Accounts)) { tn.Tag = new Models.Accounts();//Activator.CreateInstance(t.GetType());//根据t的类型创建实例 } else { tn.Tag = new Models.ExpenseAccounts(); } ((Models.Accounts)tn.Tag).ModifyStauts = 2; //new ((Models.Accounts)tn.Tag).Name = t.Name; ((Models.Accounts)tn.Tag).AccountName = t.Name; if (node != null) { //add in a node node.Nodes.Add(tn); if (node.Tag != null) { var a = (Models.Tree)node.Tag; t.Level = a.Level + 1; } var parentNode = (Models.Accounts)node.Tag; if (parentNode.Child == null) { parentNode.Child = new List <Models.Tree>(); } parentNode.Child.Add((Models.Accounts)tn.Tag); ((Models.Accounts)tn.Tag).Parent = parentNode; if (parentNode.ModifyStauts != 2) //new { ModifyAccount.Add((Models.Accounts)tn.Tag); } } else { treeView1.Nodes.Add(tn); t.Level = 1; ModifyAccount.Add((Models.Accounts)tn.Tag); } this.treeView1.SelectedNode = tn; this.treeView1.LabelEdit = true; if (this.treeView1.SelectedNode.IsEditing == false) { this.treeView1.SelectedNode.BeginEdit(); } }
private void DelAccount_ToolStripMenuItem_Click(object sender, EventArgs e) { var m = ((ToolStripMenuItem)sender).GetCurrentParent(); if (m != null) { var info = treeView1.HitTest(treeView1.PointToClient(m.PointToScreen(new Point(0, 0)))); treeView1.Nodes.Remove(info.Node); Models.Tree t = (Models.Tree)info.Node.Tag; t.ModifyStauts = 3; //delete ModifyAccount.Add(t); } }
public TreeGrid(int n) { for (int m = 0; m < n + 3; m++) { ColumnDefinition column = new ColumnDefinition(); this.ColumnDefinitions.Add(column); RowDefinition row = new RowDefinition(); this.RowDefinitions.Add(row); } for (int m = 0; m < n + 3; m++) { for (int l = 0; l < n + 3; l++) { Tree newTree = new Models.Tree(m, l); this.Children.Add(newTree); } } }
private void GetAccountData(Models.Tree t) { if (t != null) { if (t.ModifyStauts != 0) //modify,new,delete { var val = ModifyAccount.Where(x => x.Id == t.Id).FirstOrDefault(); if (val == null) { ModifyAccount.Add(t); } else { val = t; } } } }
private void DeleteData(DbSet <Models.Tree> dbset, Models.Tree t) { if (t == null) { return; } else { if (t.Child == null || t.Child.Count == 0) { dbset.Attach(t); dbset.Remove(t); // t = null; } else { foreach (var c in t.Child) { DeleteData(dbset, c); } } } }