• 递归获取子节点


    节点ID,父节点ID,根据节点获取该节点下所有子节点。用于点击类别查询此类别下所有商品

            private string GetChildIdsById(int id)
            {
                List<ProductCategoryModel> listCategory = GetDataCategory();
                string ids = id.ToString();
                 GetChilds(id, listCategory,ref ids);
                 return ids;
            }
            private void GetChilds(int id, List<ProductCategoryModel> listc,ref string ids)
            {
               
                foreach (var item in listc.Where(p => Convert.ToInt32(p.FId) == id).ToList())
                {
                    ids += "," + item.Id;
                    GetChilds(Convert.ToInt32(item.Id), listc,ref ids);
                }
                
            }
    

     递归绑定目录(Winform)

            private void BindTreeView()
            {
                try
                {
                    treeView1.BeginUpdate();
                    treeView1.Nodes.Clear();
                    List<ProductCategoryModel> listCategory = GetDataCategory();
                    if (listCategory.Count > 0)
                    {
                        //绑定根目录
                        ProductCategoryModel model = listCategory.Where(a => a.FId == -1).FirstOrDefault();
                        if (model != null)
                        {
                            TreeNode rootNode = new TreeNode();
                            rootNode.Text = model.Name;
                            rootNode.Tag = model.Id.ToString();
                            rootNode.ImageIndex = 0;
                            treeView1.Nodes.Add(rootNode);
                            AddNodes(rootNode, listCategory);
                        }
                        if (treeView1.Nodes.Count > 0)
                        {
                            treeView1.ExpandAll();
                        }
                    }
                    treeView1.EndUpdate();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "提示");
                }
    
            }
            private static void AddNodes(TreeNode pNode, List<ProductCategoryModel> listc)
            {
                pNode.Nodes.Clear();
                foreach (var item in listc.Where(p => p.FId == Convert.ToInt32(pNode.Tag)).ToList())
                {
                    TreeNode parentNode = new TreeNode();
                    parentNode.Text = item.Name;
                    parentNode.Tag = item.Id;
                    parentNode.ImageIndex = 1;
                    AddNodes(parentNode, listc);
                    pNode.Nodes.Add(parentNode);
                }
            }
    

      

     

  • 相关阅读:
    云端: 小软件大平台,绿色又安全 V0.9 Beta3(090722)
    Kindle 中文阅读终极优化指南
    编辑距离
    在IE中输入网址不能访问,但输入IP地址可以访问,为什么?
    英文缩写解释
    为什么有时上网速度很慢?
    常用命令
    如何使用ping命令检查网络故障
    密码的故事
    提示主机名冲突怎么办?
  • 原文地址:https://www.cnblogs.com/huangzhen22/p/4760082.html
Copyright © 2020-2023  润新知