Implement Tree Menu (Reposted) with TreeView

xiaoxiao2021-03-06  40

Implement Tree Menu with TreeView

The specific method is: Create a database, design a tree graph information table S_Menu, contain NodeID, ParentID, NodeName, Address, ICON field, and other fields depending on the actual business, the node name NodeName will display on the node of the tree control, NodeID field Save the unique identification number of the node, ParentID indicates the parent node number of the current node, and the identification number consists of a "linked list" to record the structure of the node on the tree. Design a web form placing the TreeView control, modify its properties ID to TVMenu.

The data structure is as follows:

Create Table [DBO]. [S_MENU] (

[NodeID] [char] (6) Collate Chinese_PRC_CI_AS NULL,

[Parentid] [char] (6) collate chinese_prc_ci_as null,

[Nodename] [nvarchar] (50) collate chinese_prc_ci_as null,

[Address] [nvarchar] (50) collate chinese_prc_ci_as null,

[Icon] [nvarchar] (50) collate chinese_prc_ci_as null

) On [primary]

Go

The database is as follows:

NodeId Parentid NodeName Address icon

100000 0 Public Query Department icon_Document.gif

100001 100000 RMB Daily Query Public / A1.ASPX icon_Settings.gif

100002 100000 Foreign Currency Daily Query Public / A2.ASPX icon_Settings.gif

100003 0 Branch Ministry of Science and Technology Icon_Document.gif

100004 100003 RMB Daily Query Tech / A1.ASPX icon_Settings.gif

100005 100003 Foreign Currency Daily Query Tech / A2.ASPX icon_Settings.gif

100006 0 Futian Branch icon_Document.gif

100007 100006 month deposit schedule a1.aspx icon_settings.gif

100008 100006 month Deposit chart A2.ASPX icon_settings.gif

100009 0 Luohu Branch icon_Document.gif

100010 100009 month Deposit Scheme A1.ASPX icon_Settings.gif

100011 100009 month deposit chart A2.ASPX icon_settings.gif

The menu_left.aspx file is as follows:

<% @ Register TagPrefix = "iewc" Namespace = "Microsoft.Web.UI.WebControls" Assembly = "Microsoft.Web.UI.WebControls, Version = 1.0.2.226, Culture = neutral, PublicKeyToken = 31bf3856ad364e35"%>

<% @ Page language = "c #" codebehind = "menu_left.aspx.cs" autoeventwireup = "false" inherits = "hzquery.Menu.Menu_left"%>%>

menu_left </ title> <meta name = "generator" content = "Microsoft Visual Studio 7.0"></p> <p><meta name = "code_language" content = "c #"></p> <p><meta name = "vs_defaultclientscript" content = "javascript"></p> <p><meta name = "vs_targetschema" content = "http://schemas.microsoft.com/intellisense/ie5"></p> <p></ HEAD></p> <p><body ms_positioning = "gridLayout"></p> <p><form id = "menu_left" Method = "post" runat = "server"></p> <p><IEWC: TreeView ID = "TVMENU" runat = "server"> </ iewc: treeview></p> <p></ form></p> <p></ body></p> <p></ Html></p> <p>The codebehind code is as follows:</p> <p>Using system;</p> <p>Using system.collections;</p> <p>Using system.componentmodel;</p> <p>Using system.data;</p> <p>Using system.drawing;</p> <p>Using system.Web;</p> <p>Using system.Web.SessionState;</p> <p>Using system.Web.ui;</p> <p>Using system.Web.ui.webcontrols;</p> <p>Using system.Web.ui.htmlcontrols;</p> <p>USING Microsoft.Web.ui.WebControls;</p> <p>Using system.data.sqlclient;</p> <p>Namespace hzquery.menu</p> <p>{</p> <p>/// <summary></p> <p>/// Menu_left summary description.</p> <p>/// </ summary></p> <p>Public class menu_left: System.Web.ui.page</p> <p>{</p> <p>Protected Microsoft.Web.ui.WebControls.treeView TVMenu;</p> <p>SqlConnection conn;</p> <p>SqldataAdapter mycmd;</p> <p>DataSet DS;</p> <p>String cmdselect;</p> <p>Private Void Page_Load (Object Sender, System.EventArgs E)</p> <p>{</p> <p>CONN = New SqlConnection (Application ["Connstring"]. TOSTRING ());</p> <p>CreateDataSet ();</p> <p>INITTREE (TVMenu.Nodes, "0");</p> <p>}</p> <p>// Establish a data set</p> <p>Private Dataset CreateDataSet ()</p> <p>{</p> <p>cmdselect = "SELECT * from a_menu";</p> <p>Mycmd = new SqldataAdapter (cmdselect, conn);</p> <p>DS = new dataset ();</p> <p>Mycmd.fill (DS, "Tree");</p> <p>Return DS;</p> <p>}</p> <p>// The basic idea of ​​building a tree is to start recursive call from the root node to display the Private Void Inittree (TreenodeCollection NDS, String ParentID)</p> <p>{</p> <p>DataView DV = New DataView ();</p> <p>Treenode Tmpnd;</p> <p>String intID;</p> <p>DV.TABLE = DS.TABLES ["Tree"];</p> <p>Dv.rowfilter = "ParentID =" " ParentID " ""</p> <p>Foreach (DataRowView DRV in DV)</p> <p>{</p> <p>TMPND = New Treenode ();</p> <p>Tmpnd.id = DRV ["NodeID"]. TOSTRING ();</p> <p>TMPND.TEXT = DRV ["nodename"]. TOSTRING ();</p> <p>Tmpnd.imageurl = "../ images /" DRV ["icon"]. TOSTRING ();</p> <p>TMPND.NAVIGATEURL = "../" DRV ["address"]. TOSTRING ();</p> <p>Nds.add (tmpnd);</p> <p>INTID = DRV ["ParentID"]. TOSTRING ();</p> <p>INITTREE (tmpnd.nodes, tmpnd.id);</p> <p>}</p> <p>}</p> <p>#Region Web Form Designer Generated Code</p> <p>Override protected void oninit (Eventargs E)</p> <p>{</p> <p>InitializationComponent ();</p> <p>Base.onit (E);</p> <p>}</p> <p>Private vidinitiRizeComponent ()</p> <p>{</p> <p>This.Load = New System.EventHandler (this.page_load);</p> <p>}</p> <p>#ndregion</p> <p>}</p> <p>}</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-53387.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="53387" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.038</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '6W2DnCVe1qyy8IR8WNn3gi4dTanSrBeglfZGSoWQWTK0s8GtDNTSQUb3_2FMK3Q3EQ7_2FBQ_2Fe_2F2_2BwTUyvsY1NgbKw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>