TreeView control

xiaoxiao2021-03-06  39

[Repost] About TreeView Control Topics 1. Download address http://msdn.microsoft.com/downloads/samples/internet/ASP_ Dot_Net_ServerControls / WebControls / Default.asp After installation, through "Custom Toolbox" ->. NET Framework Components Add TreeView to the Toolbox. Display format error (non-tree display) TreeView Requires client browser version of IE5.5 and above, it is best to request client upgrade to IE6.0 4. Frame use TreeView to set NaviGateURL, Target Properties, update additional Frame The TreeNode class can not be found using TreeView, preferably added namespace: using Microsoft.Web.UI.WebControls; 6. TreeView node traversal (recursive algorithm) private void Page_Load (object sender, System.EventArgs e) {GetAllNodeText (TreeView1. Nodes);} void getNodeText (TREENODECOLLECTION TNC) {inf (node.nodes.count! = 0) getAllNodeText (Node.Nodes); response.write (node.text ");} } 7. Get the parent of the Node Node Treenode PNode; if (node.parent is treenode) pnode = (Treenode) node.parent; Else // Node Is Root Node 8. Modify TreeView Style (Example) With code: TreeView1.defaultStyle [" font-size "] =" 20pt "; 9.TreeView expands no blinking solution http://expert.9cbs.net/Expert/ Topic / 1300 / 1300576.xml Client Control TreeView http://expert.9cbs.net/expert/topic/1382/1382892.xml 1. Set the selected node, select the second node function setselnode () {TreeView1. selectedNodeIndex = "1";} 2. Text selected node obtained, ID or NodeData function GetAttribute () {alert (TreeView1.getTreeNode (TreeView1.selectedNodeIndex) .getAttribute ( "Text"));} is replaced ID Text or NODEDATA You can get the ID or NODEDATA 3. of the selected node, modify the node properties, respectively.

If you modify the first node's text function modifynode () {var node = treeview1.gettreenode ("text"); "text", "hgknight");} 4. Get click node function treew1.onclick () {alert (TreeView1.getTreeNode (TreeView1.clickedNodeIndex) .getAttribute ( "Text"));} 5. Add node function AddNode () {var node = TreeView1.createTreeNode (); node.setAttribute ( "Text", "hgknight" TreeView1.add (node);} 6.js Traversed all nodes // only for root nodes, everyone can change it to recursive form var nodeArray = new array (); nodeArray = treeView1.getChildren (); for i = 0; i

3, why do SleectedIndexchange in TreeView not executed? ? ? The autopostback property is true, and SELECTEDEXCHANGE can be executed. However, if you choose, you will feel refreshed to make you pain. According to your specific implementation, use the Working method, try not to use the SelectIndexchange event. SELECTEDIDEXCHANGE event is not on the control? InitializationComponent method Check 4, how do you determine if there is a child node under one node of TreeView? ? ? IF (selnode.nodes.count == 0) {// This node has no byte point} 5. How to get the current selection node of TreeView? ? ? 1.Tree.GetNodeFromIndex (Tree.SelectedNodeIndex.ToString ()) 2.private void TreeView1_SelectedIndexChange (object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e) e.NewNode is the selected node 6, treeview node did not realize two Question, extension to the unlimited layer problem? I am not perfect enough for the situation with few nodes, and you can't do this for the case of the number of nodes. You should only load one level. When you click the node, then load it. The next level node. The database structure is as follows: Table 1 ParentID VARCHAR 20: Parent Node ID VARCHAR 20: Node Name VARCHAR 50: Name comes, here gives you a routine, give a Treeviwe on my web page to see, 10,000 children There is no problem with the node. http://dev1.raserver.net/czc888/webform1.aspx As for the meaning of the three images, you know my web page.

A paper (no child node), a closed book (with sub-node), an open book (current node is deployed) Void Creat_Node (String Name, Microsoft.Web.ui.WebControls.treenode T1, String Number) {// Defines a new node Microsoft.Web.ui.WebControls.treenode T2 = new Microsoft.Web.ui.WebControls.treenode (); t2.id = number; t2.text = Name; // Judging whether it is root node TreeView1.expandedImageURL = "images / depart03.bmp"; if (t1.id.trim () == "###") {TreeView1.Nodes.Add (T2); t2.imageurl = " iMages / Depart01.bmp ";} else {t1.nodes.add (t2); t2.imageurl =" images / divart01.bmp "; t1.imageurl =" images / depart02.bmp ";} // get this node All sub-nodes, using recursive automatic generation string myselectQuery = "SELECT PARENTID, ID, NAME from table1 where parentid = '" number ""; string myconnstring = "provike = microsoft.jet.Oledb.4.0; data source = " Server.MapPath (". ") " / dt / mydata.mdb "; OleDbConnection myConnection = new OleDbConnection (myConnString); OleDbCommand myCommand = new OleDbCommand (mySelectQuery, myConnection); myConnection.Open (); OleDbDataReader myReader; MyReader = mycommand.executeReader (); while (MyReader.Read ()) {creat_node (MyReader.ge) tString (2), t2, myReader.GetString (1));} myReader.Close (); myConnection.Close ();} private void CreateProviderTreeBtn_Click (object sender, System.EventArgs e) {Microsoft.Web.UI.WebControls. Treenode T1 = New Microsoft.Web.ui.WebControls.treenode (); Creat_Node ("", T1, "###"); 7. How to use TreeView ??? // Initialize TreeView Data Private Void InitTV (Int Intvorderlen) {SQLDATAREADER DR; SQLCOMMAND MyCommand; string strasel = "SELECT * from be_enterprise where len (vieworder) =" intvorderlen "

ORDER BY ViewOrder "; mycommand = new sqlcommand (strsel, myconnection); Dr = mycommand.executeReader (); while (Dr.Read ()) {treenode pnode = new Treenode (); pnode.text = DR [" entpname "] .Tostring (); pnode.id = DR ["vieworder"]. TOSTRING (); TreeView1.nodes .add (pnode);} Dr.close ();} private void TreeView1_selectedIndexchange (Object Sender, Microsoft.Web.ui. WebControls.TreeViewSelectEventArgs e) {TreeNode NewNode = TreeView1.GetNodeFromIndex (TreeView1.SelectedNodeIndex); string strNodeId = NewNode.ID .ToString (); SqlDataReader dr; SqlCommand myCommand; int intVOrderLen = strNodeId.Length 2; string strSel = "select * from bas_enterprise where len (vieworder) = " intVOrderLen " and vieworder like '% " strNodeId " __%' order by vieworder "; myCommand = new SqlCommand (strSel, myConnection); dr = myCommand.ExecuteReader (); NewNode.Nodes .Cle (); while (Dr.Read ()) {Treenode Pnode = New Treenode (); pnode.text = DR ["entpname"]. Tostring (); pnode.id = DR ["Vieworder"]. Tostring NewNode.Nodes.Add (PNode) ;} Dr.close (); TreeView1.Expandlevel = 1;} 8, how to find a value in TreeView and select it? Question: Do you, how to find a text or TREENODES ID in a tree, find it? Answer: for (int i = 0; i

TreeView1.SelectedNodeIndex (TreeView1.SelectedNodeIndex); Label1.Text = NewNo If you want to add a child node in the form of the code, the code is implemented? The parent node code is as follows: treenode pnode = new Treenode (); pnode.id = "root "; pnode.text = strnodename; TreeView1.nodes.add (pnode); if you want to add a child node, how to write code? TreeView1.nodes.addat (pnode); this way No. TreeView1.nodes [0] .nodes.add (pnewnode); //8************************************************************ ************* STRING STRScript = "