Step 1: Find the node of the Treeview
Var key = $ ("# txtquery "). val (); var searchelement = $ ("A: Contains ('" + key + "')"); If (searchelement. length = 0) {alert ("not found"); return ;}
Step 2: Expand nodes
1. Search for all its upper-level nodes
2. If the node is not expanded, the click event is simulated.
<% @ Page title = "" Language = "C #" masterpagefile = "~ /Site1.master "autoeventwireup =" true "codebehind =" webform2.aspx. CS "inherits =" hyfw. webform2 "%> <asp: content ID = "content1" contentplaceholderid = "head" runat = "server"> <SCRIPT type = "text/JavaScript" src = "JS/jquery-1.4.2.min.js"> </SCRIPT> <title> </title> <SCRIPT type = "text/JavaScript"> function checkisexpand (ID) {var Reg =/treet (\ D +)/; var result = reg.exe C (ID); var Index = Result [1]; var expandstat E = contentplaceholder=tree_data.expandstate.value.charat (INDEX) if (expandstate = "e") return true; else return false;} $ (document ). ready (function () {$ ("# btnsearch "). click (function () {var key = $ ("# txtquery "). val (); var searchelement = $ ("A: Contains ('" + key + "')"); If (searchelement. length = 0) {alert ("not found"); return;} var FID = searchelement [0]. name; var parentarray = FID. split (","); For (VAR I = 0; I <parentarray. length; I ++) {var treea =$ ("#" + parentarray [I]); If (treea. length> 0) {var treets = treea. siblings (); If (treets. length = 0) {treets = treea. parent ();} var treet = treets [0]; var id = treet. ID; var isexpand = checkisexpand (ID); If (! Isexpand) {id = ID. replace ("treet", "Treen"); $ ("#" + id ). get (0 ). click () ;}}})}) </SCRIPT> </ASP: content> <asp: content ID = "content2" contentplaceholderid = "contentplaceholder1" runat = "server"> <input type = "text" id = "txtquery"/> <input type = "button" id = "btnsearch" value = "query"/> <asp: treeview id = "Tree" runat = "server"> </ASP: Treeview> </ASP: content>
Using system; using system. collections. generic; using system. LINQ; using system. web; using system. web. ui; using system. web. UI. webcontrols; namespace hyfw {public partial class webform2: system. web. UI. page {protected void page_load (Object sender, eventargs e) {If (! Page. ispostback) {list <membergroup> groups = getmembergroups (); treenode rootnode = getnode (10, "Shenzhen People's Hospital", ""); tree. nodes. add (rootnode); buildtree (rootnode, groups, 10); tree. collapseall () ;}} void txtsearch_textchanged (Object sender, eventargs e) {}protected void buildtree (treenode node, list <membergroup> groups, int FID) {list <membergroup> childgroups = groups. where (G => G. groupfid = FID ). tolist (); If (childgroups. count> 0) {foreach (membergroup group in childgroups) {treenode childnode = getnode (group. groupid, group. groupname, group. path); childnode. selectaction = treenodeselectaction. none; node. childnodes. add (childnode); buildtree (childnode, groups, group. groupid) ;}} Private Static treenode getnode (INT groupid, string groupname, string path) {treenode childnode = new treenode () {value = groupid. tostring ()}; childnode. TEXT = "<a id = '" + groupid. tostring () + "'name = '" + path + "'href = \" # \ ">" + groupname + "</a>"; return childnode ;} public list <membergroup> getmembergroups () {list <membergroup> membergroups = new list <membergroup> (); membergroups. add (New membergroup () {groupfid = 0, groupid = 10, groupname = "Shenzhen People's Hospital", Path = "0"}); membergroups. add (New membergroup () {groupfid = 10, groupid = 1010, groupname = "Health Check patient", Path = ""}); membergroups. add (New membergroup () {groupfid = 10, groupid = 1011, groupname = "inpatient", Path = ""}); membergroups. add (New membergroup () {groupfid = 10, groupid = 1012, groupname = "outpatients", Path = ""}); membergroups. add (New membergroup () {groupfid = 1010, groupid = 101010, groupname = "group user", Path = "1010,"}); membergroups. add (New membergroup () {groupfid = 1010, groupid = 101011, groupname = "individual user", Path = "1010,"}); membergroups. add (New membergroup () {groupfid = 101010, groupid = 10101010, groupname = "Futian middle school", Path = ","}); membergroups. add (New membergroup () {groupfid = 101010, groupid = 10101011, groupname = "Nanshan middle school", Path = ","}); membergroups. add (New membergroup () {groupfid = 101010, groupid = 10101012, groupname = "Telecom", Path = ","}); membergroups. add (New membergroup () {groupfid = 1011, groupid = 101110, groupname = "urologic", Path = "1011,"}); membergroups. add (New membergroup () {groupfid = 101110, groupid = 10111011, groupname = "cardiology", Path = ","}); membergroups. add (New membergroup () {groupfid = 101110, groupid = 10111012, groupname = "bladder cancer", Path = ","}); membergroups. add (New membergroup () {groupfid = 101110, groupid = 10111013, groupname = "prostate cancer", Path = ","}); Return membergroups ;}} public class membergroup {public int groupid {Get; set;} Public String groupname {Get; set;} public int groupfid {Get; set;} Public String path {Get; set ;}}}