我在treeview是手动添加了根节点aa,bb,cc,dd它们都没有子节点,
就是aa    这样的,但是我想要的是aa()
    bb                       bb()
    cc                       cc()
    dd                       dd()                                我有一个表tbinfo里面有两个字段id,tname,这个表是用来存储我要添加的记录,
如:id     tname    就是这样的,现在treeview里已经添加好节点了,就是从数据库里查出他们的个数,若数据库里没有
    1      aa
    2      aa
    3      bb
    4      cc就像以上这个表,那么在treeview里就应该是aa(2)    要的就是这样的结果!
                                    bb(1)
                                    cc(1)
                                    dd(0)                      
          

解决方案 »

  1.   

    如果你手工绑定aa,然后根据aa来查询它的个数的话,效率会很低,如果你的节点很多的话,加载会很缓慢,因为每个节点都要做一次数据库查询
      

  2.   

     protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                CreateTreeNode();
            }
        }  
        public void CreateTreeNode()
        {
            TreeNode mainNode = new TreeNode();
            mainNode.Text = "所有";        IList<string> list = new List<string>(){"aa","bb","cc"};
            foreach (string value in list)
            {
                string aaCount =GetTable(string.Format(@"select .... where  tname='{0}'",value)).Rows[0][0].ToString();
                TreeNode node = new TreeNode();
                node.Text = value + "(" + aaCount + ")";
                mainNode.ChildNodes.Add(node);
            }
            TreeView1.ShowLines = true;
            TreeView1.Nodes.Add(mainNode);
        }
        public DataTable GetTable(string str)
        {
            //自己实现
        }