如何实现visual studio中的下拉式菜单,菜单是从数据库的多个表中查询出来的。
 请各位高手帮忙!

解决方案 »

  1.   

    winform 有 菜单及工具栏的menustrip控件
    webform 有 导航的menu控件
      

  2.   

    拖一个Menustrip,里面的Item自己用后台代码添加上去
      

  3.   

    using  System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){DataTable dt = new DataTable("mydt"); dt.Columns.Add("ID",typeof(int));dt.Columns.Add("fatherID",typeof(int));dt.Columns.Add("name",typeof(string));  DataRow dr = dt.NewRow();dr["ID"] = 1;dr["fatherID"] = 0;dr["name"] = "first-1";dt.Rows.Add(dr); DataRow dr2 = dt.NewRow();dr2["ID"] = 2;dr2["fatherID"] = 0;dr2["name"] = "first-2";dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow();dr3["ID"] = 3;dr3["fatherID"] = 0;dr3["name"] = "first-3";dt.Rows.Add(dr3); DataRow dr4 = dt.NewRow();dr4["ID"] = 4;dr4["fatherID"] = 1;dr4["name"] = "second-1";dt.Rows.Add(dr4); DataRow dr5= dt.NewRow();dr5["ID"] =5;dr5["fatherID"] = 1;dr5["name"] = "second-1";dt.Rows.Add(dr5);  DataRow dr6 = dt.NewRow();dr6["ID"] = 6;dr6["fatherID"] = 5;dr6["name"] = "Third-1";dt.Rows.Add(dr6);  DataView dv = dt.DefaultView;Session["treeview"] = dv;this.TreeView1.Nodes.Clear(); TreeNode nodeRoot = new TreeNode();nodeRoot.Text = "mytree";nodeRoot.Value = "aaa";nodeRoot.ShowCheckBox = false;this.TreeView1.Nodes.Add(nodeRoot); dv.Sort = "ID";dv.RowFilter = "fatherID='0'";int count = dv.Count;for (int i = 0; i < count; i++){dv.Sort = "ID";dv.RowFilter = "fatherID='0'";TreeNode nodeparent = new TreeNode();nodeparent.Text = dv[i]["name"].ToString();this.ListSubVSSCatalog(dv[i]["ID"].ToString(), nodeparent);nodeRoot.ChildNodes.Add(nodeparent);}this.TreeView1.ExpandAll(); } private void ListSubVSSCatalog(string p, TreeNode nodeparent){ DataView dvv = (DataView)Session["treeview"];dvv.Sort = "ID";dvv.RowFilter = "fatherID='"+p+"'";int count = dvv.Count;for (int i = 0; i < count; i++){dvv.Sort = "ID";dvv.RowFilter = "fatherID ='" + p + "'";TreeNode nodechild = new TreeNode();nodechild.Text = dvv[i]["name"].ToString();nodeparent.ChildNodes.Add(nodechild);this.ListSubVSSCatalog(dvv[i]["ID"].ToString(),nodechild);}}} 
      

  4.   


    using  System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable("mydt"); dt.Columns.Add("ID",typeof(int)); dt.Columns.Add("fatherID",typeof(int)); dt.Columns.Add("name",typeof(string)); DataRow dr = dt.NewRow(); dr["ID"] = 1; dr["fatherID"] = 0; dr["name"] = "first-1"; dt.Rows.Add(dr); DataRow dr2 = dt.NewRow(); dr2["ID"] = 2; dr2["fatherID"] = 0; dr2["name"] = "first-2"; dt.Rows.Add(dr2); DataRow dr3 = dt.NewRow(); dr3["ID"] = 3; dr3["fatherID"] = 0; dr3["name"] = "first-3"; dt.Rows.Add(dr3); DataRow dr4 = dt.NewRow(); dr4["ID"] = 4; dr4["fatherID"] = 1; dr4["name"] = "second-1"; dt.Rows.Add(dr4); DataRow dr5= dt.NewRow(); dr5["ID"] =5; dr5["fatherID"] = 1; dr5["name"] = "second-1"; dt.Rows.Add(dr5); DataRow dr6 = dt.NewRow(); dr6["ID"] = 6; dr6["fatherID"] = 5; dr6["name"] = "Third-1"; dt.Rows.Add(dr6); DataView dv = dt.DefaultView; Session["treeview"] = dv; this.TreeView1.Nodes.Clear(); TreeNode nodeRoot = new TreeNode(); nodeRoot.Text = "mytree"; nodeRoot.Value = "aaa"; nodeRoot.ShowCheckBox = false; this.TreeView1.Nodes.Add(nodeRoot); dv.Sort = "ID"; dv.RowFilter = "fatherID='0'"; int count = dv.Count; for (int i = 0; i < count; i++) { dv.Sort = "ID"; dv.RowFilter = "fatherID='0'"; TreeNode nodeparent = new TreeNode(); nodeparent.Text = dv[i]["name"].ToString(); this.ListSubVSSCatalog(dv[i]["ID"].ToString(), nodeparent); nodeRoot.ChildNodes.Add(nodeparent); } this.TreeView1.ExpandAll(); } private void ListSubVSSCatalog(string p, TreeNode nodeparent) { DataView dvv = (DataView)Session["treeview"]; dvv.Sort = "ID"; dvv.RowFilter = "fatherID='"+p+"'"; int count = dvv.Count; for (int i = 0; i < count; i++) { dvv.Sort = "ID"; dvv.RowFilter = "fatherID ='" + p + "'"; TreeNode nodechild = new TreeNode(); nodechild.Text = dvv[i]["name"].ToString(); nodeparent.ChildNodes.Add(nodechild); this.ListSubVSSCatalog(dvv[i]["ID"].ToString(),nodechild); } } } 整理楼上的。