Exemplo n.º 1
0
        /// <summary>
        /// 这部分写的不好 要重新再写
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public List <object> GetChildren(object data)
        {
            var originData = ParseData(data);
            var id         = (int)originData.GetType().GetProperty("Id").GetValue(originData);

            return(DataListTItem.Where(item => ((int?)ParseData(item).GetType().GetProperty("ParentId").GetValue(ParseData(item))) == id).ToList());
        }
Exemplo n.º 2
0
 protected void GetChildren(TModel model)
 {
     if (DataListTItem.Any(item => item.ParentId == model.Id))
     {
         var children = DataListTItem.Where(item => item.ParentId == model.Id).ToList();
         model.Children = children;
         model.Children.ForEach(child => GetChildren(child));
     }
     else
     {
         model.Children = new List <TModel>();
     }
 }
Exemplo n.º 3
0
        public async Task Load()
        {
            if (DataListTItem == null)
            {
                var resData = await DataSource.Load();

                DataListTItem = resData.Data;
            }
            TopTItems = DataListTItem.Where(item => (int?)item.GetType().GetProperty("ParentId").GetValue(item) == null || (int?)item.GetType().GetProperty("ParentId").GetValue(item) == 0).ToList();
            TreeNodes = DataListTItem.Select(item => new TreeNode <TModel>()
            {
                DataItem = item
            }).ToList();
            TopTItems.ForEach(top => GetChildren(top));
            StateHasChanged();
            tree.ExpandAll();
            StateHasChanged();
        }