//传入 菜品大类id 得到菜品大类的名字 public TreeNode GetDishTypeBigName(int? id, TreeNode root) { if (root.Id == id) { return root; } var childrens = root.Children; foreach (var element in childrens) { if (element.Id == id) { return element; } else { if (element.Children.Count > 0) { TreeNode seStr = GetDishTypeBigName(id, element); if (seStr != null) { return seStr; } } } } return null; }
public TreeNode(int id, string name, TreeNode parent, ObservableCollection<TreeNode> children) { this.Id = id; this.Name = name; this.Parent = parent; this.Children = children ?? new ObservableCollection<TreeNode>(); }
//设置全部的树属性为false ,当前点击的为true public void SelectedTreeNodeFalse(TreeNode treeNode) { if (treeNode == null) { return; } ObservableCollection<TreeNode> children = treeNode.Children; foreach (var t in children) { if (t.Children.Count() > 0) { SelectedTreeNodeFalse(t); } else { t._Selected = false; } } }
public TreeNode GetSelectedTreeNode(TreeNode treeNode) { ObservableCollection<TreeNode> children = treeNode.Children; foreach (var t in children) { if (t.Children.Count() > 0) { TreeNode td = GetSelectedTreeNode(t); if (td != null) { return td; } } else { if (t._Selected) { return t; } } } return null; }
public void LoadTreeNodeChildren(TreeNode selected) { if( null==selected){ return; } selectedLast = selected; if (selected.Parent != null) { _DishTypeIdLast = selected.Id; } DishService service = new DishService(); var dishesMenus = service.LoadSubTypeById(selected.Id); selected.Children.Clear(); foreach (var menu in dishesMenus) { var child = selected.createChild(menu.DishTypeId, menu.Name); selected.Children.Add(child); } //SelectedTreeNodeFalse(Root); //selected._Selected = true; }
/// <summary> /// 加载初始化数据 /// </summary> public void Init() { DishTypeMenu = new ObservableCollection<TreeNode>(); var dishesMenus = _IDishService.LoadFatherType(); Root = TreeNode.createRoot(0, "全部类型"); DishTypeMenu.Add(Root); foreach (var menu in dishesMenus) { var child = Root.createChild(menu.DishTypeId, menu.Name); Root.Children.Add(child); } RaisePropertyChanged("DishWin"); }