我觉得可以利用树的原理,或者XML的层次关系

解决方案 »

  1.   

    用treeview控件!!很好用的!!
      

  2.   

    treeview 是什么东西哦,没看到过拉?
      

  3.   

    数据结构首先要定好。
    再用控件实现即可。也可以像latahu(邋遢胡)所述用XML实现。
      

  4.   

    用xml 每个菜单项的id里面包含上一级的id 就比如
    01
      01_01
      01_02
         01_02_01
                 01_02_01_01
         01_02_02
      01_30然后遍历所有节点 生成菜单 就相当于树型结构
    只不过用xml更简单 方便 也更灵活些
      

  5.   

    那在SQLSERVER里表应该怎样建拉?
      

  6.   

    建立一个XML,XML里的节点是你的类层次关系,通过xmldom去读取,修改xml文件(增加或删除小类)就等于配置类。如果是由客户配置,最好有配置程序,方便用户维护。如果是开发人员配置(比如初始化系统树菜单之类的),可以直接在XML里修改。XML建立起来后,可以将其和treeview建立对应。或者通过XSLT和HTML显示。
    有关XML和treeview的对应,参考
    http://expert.csdn.net/Expert/topic/1382/1382059.xml?temp=.5832178
    是我以前添的代码。
    有关XSLT和HTML显示XML内容,可以和我联系,内容太多,[email protected]
      

  7.   

    XML-->treeView
    //增加单个节点  
    private void Expand(XmlNode  aXmlNode,TreeNode aTreeNode)
    {
        if (aXmlNode.ChildNodes.Count>0)
        {
          for (int i=0; i<aXmlNode.ChildNodes.Count ; i++) 
             {
       TreeNode treeTmpNode;
                treeTmpNode=aTreeNode.Nodes.Add(aXmlNode.ChildNodes.Item (i).Name.ToString());
              }
         }
    }
     //增加所有分支(递归算法)
    private void ExpandAll(XmlNode  aXmlNode,TreeNode aTreeNode)
      {
        Expand(aXmlNode,aTreeNode);
        //增加子节点
        if (aXmlNode.ChildNodes.Count>0)
         {
           for (int i=0; i<aXmlNode.ChildNodes.Count ; i++) 
            {
             ExpandAll(aXmlNode.ChildNodes.Item(i),aTreeNode.Nodes[i] );
            }
          }
      }//调用
    //得到Xml的根,作为TreeView的根节点
      XmlNode xmlRootNode;
      TreeNode treeRootNode;  xmlRootNode=xmldom.DocumentElement;
      treeRootNode=treeView1.Nodes.Add(xmlRootNode.Name.ToString());
      ExpandAll(xmlRootNode,treeRootNode);你可以写个测试程序试试,我这边没问题.