Repost] About TreeView Control
Download address
http://msdn.microsoft.com/downloads/samples/internet/asp_
After DOT_NET_SERVERCONTROLS / WebControls / Default.asp, TreeView is added to the toolbox by "Custom Toolbox" ->. Net Framework Components
2. Unable to display the version of TreeView when running, it is best to download the English version of the automatic installation version to reinstall, before installing, you should first go to add the delete program to remove the original version
3. Display format error (non-tree display) TreeView requires client browser version to IE5.5 and above, it is best to request client upgrade to IE6.0
4. Use TreeView in the framework to set the NaviGateURL, Target property, update additional Frame
5. Can't find the TREENODE class using TreeView, it is best to add Namespace: use Microsoft.Web.ui.WebControls;
6. TreeView node traversal (recursive algorithm) private void Page_Load (object sender, System.EventArgs e) {GetAllNodeText (TreeView1.Nodes);} void GetAllNodeText (TreeNodeCollection tnc) {foreach (TreeNode node in tnc) {if (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)
9.TreeView unflassed 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, such as selecting the second node function setselnode () {TreeView1.SelectedNodeIndex = "1";
2. Get the text, id or nodedata function getttribute () {Alert (TreeView1.SelectedNode ("text"))) ("text")));} Replace Text is ID or NodeData, you can get the selected node ID or NodeData
3. Modify node properties, such as modifying the first function modifynode () {var node = treeview1.gettreenode ("TEXT") ("TEXT", "TEXT", "TEXT", "TEXT");} 4. Get Click Node Function TreeView1.onClick () {alert (TreeView1.clickedNode ";});}
5. Add Node Function Addnode () {var node = TreeView1.createtReenode (); Node.SetAttribute ("text", "hgknight"); treeview1.add (node);} 6.js Traversing all nodes // only target Node, everyone can change it to recursive form var nodeaRray = new array (); nodeArray = treec1.getChildren (); for (i = 0; i 1. Use the code in the TreeView web control, add NODE method Table field: number, parent number, name data: 1 0 People's Republic of China 2 1 Hunan 3 1 Hubei Void CreatTree (String text, Treenode Tnd, String PID) { Treenode T2 = New Treenode (); t2.text = text; Tnd.Nodes.Add (T2); Generate string str1 = "Father Number = '" PID "" "; DATAROW [] DRYL = Dataset31.tables [0] .select (str1); For (int i = 0; i <= DRYL.GETUPPERBOUND (0); i ) { Creattree (Dryl [i] [2] .tostring (), T2, DRYL [i] [0] .tostring ());}} // Treenode T1 = New Treenode (); t1.text = "Regional Information"; TreeView2.Nodes.Add (T1); Creattree ("People's Republic of China", T1, "1"); 2, how to add an event for TreeView? Private Sub TreeView1_indexChanged (ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange Dim a As Integer a = TreeView1.SelectedNodeIndex TextBox1.Text = CStr (a) End Sub but is set to True AutoPostBack If you want to refresh, it's a huge, how can I do? ? ? Distressed. . . 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 check 4. How do I determine if there is a sub-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 realizes the problem of two-layer node, extended to the unlimited layer? 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 name: Table1 Parentid Varchar 20: Parent Name ID VARCHAR 20: Node Name Varchar 50: Name Come, here, give you a routine, give a Treeviwe on my webpage, 10,000 child nodes are no problem. 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 book (with sub-node), an open book (the 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; / / Judgment whether it is rooted point treeURL = "images / divart03.bmp"; if (t1.id.trim () == "###") {TreeView1.nodes.Add (T2); t2.imageurl = "images / depart01.bmp";} else {t1.nodes.add (t2); t2.imageurl = "images / depart01.bmp"; t1.imageurl = "images / depart02.bmp"; / / Over the sub-node of this node, use 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.GetString (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??? // Initialization TreeView data private void InitTV (int intVOrderLen) {SqlDataReader dr; SqlCommand myCommand; string strSel = "select * from bas_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 (); treec1.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 .clear (); 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 9, how to get the value in TreeView? ? private void TreeView1_SelectedIndexChange (object sender, Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs e) {Microsoft.Web.UI.WebControls.TreeNode NewNode = TreeView1.GetNodeFromIndex (TreeView1.SelectedNodeIndex); Label1.Text = NewNo If the code is to increase the child node in the parent node, how does the code implement? 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 below, how to write code? TreeView1.nodes.addat (pnode); this method is not good. TreeView1.nodes [0] .nodes.add (pnewnode ); / **************************************************************************************************