2009-02-23 32 views

回答

4

我想通了。 TreeView控件在客戶端上創建一個javascript對象。它被命名爲任何你所謂的帶有'_Data'的treeview。該對象可讓您獲取對所選節點的引用。

下面的代碼使用ASP.Net Ajax擴展。只要記住要將TreeView名稱更改爲您稱爲您的任何名稱。

var name = myTreeView_Data.selectedNodeID.value; 
var selectedNode = $get(name); 

if(selectedNode) 
{ 
selectedNode.scrollIntoView(true); 
} 
+0

它不適合我。我正在使用更新面板(AJAX)下的treeview。 – Kangkan 2011-02-26 05:19:01

0

你也可以使用下面的代碼:

 var elem = document.getElementById('TreeView1_SelectedNode'); 
     if(elem != null) 
     {  
      var node = document.getElementById(elem.value);  
      if(node != null)  
      {  
       node.scrollIntoView(true);  
      } 
     } 

幸得Paul Kimmel

1

我用保羅的辦法,它爲我工作。我在用戶控件中的更新面板中有一個TreeView,該用戶控件在每個PreRender期間被重建。只要TreeView構建,我運行以下。

if (Page.IsPostBack) 
     { 
      string s2 = @"var elem = document.getElementById('{0}_SelectedNode'); 
          if(elem != null) 
          { 
           var node = document.getElementById(elem.value); 
           if(node != null) 
           { 
            node.scrollIntoView(true); 
           } 
          } 
         "; 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "myscript", s2.Replace("{0}", tvOrgChart.ClientID), true); 
     } 

幸得Paul Kimmel

2

這裏是樹視圖中的解決方案時,點擊特定的樹節點,它只是滾動到頁面的關注標題(不重新引導),對於這一點,我們簡單的HTML代碼是存在的,現在我們看到的是什麼呢?

<html>

<body>

<div id="sidebar"> 
     <ul> 
      <li><a href="#contacts" >Contact</a></li> 

       /***here is the link*****/` 
     </ul> 
    </div> 

<div style="height: 250px;" id="contacts">

  /*here your content*/ 

     </div> 

</body>

</html>

0

此方法添加到您的代碼後面。它爲我工作。用您的treeView控件的ID替換treeView。

protected override void OnPreRender(EventArgs e) { 
     //return some code to run on the client 
     string jsScript = @" 
      <script language=javascript> 
       function Tree_scrollIntoView() { 
        var data = " + treeView.ClientID + @"_Data; 
        if (!data) { 
         return; 
        } 
        if ((typeof(data.selectedClass) != ""undefined"") && (data.selectedClass != null)) { 
         var id = data.selectedNodeID.value; 
         if (id.length > 0) { 
          var selectedNode = document.getElementById(id); 
          if ((typeof(selectedNode) != ""undefined"") && (selectedNode != null)) { 
           selectedNode.scrollIntoView(true) 
          } 
         } 
        } 
       } 

       $(document).ready(function() { 
        Tree_scrollIntoView(); 
       });      
      </script>"; 

     string jsScriptKey = "Scroll_treeview_to_selected"; 
     if (!Page.ClientScript.IsStartupScriptRegistered(this.GetType(), jsScriptKey)) { 
      Page.ClientScript.RegisterClientScriptBlock(this.GetType(), jsScriptKey, jsScript); 
     } 

     base.OnPreRender(e); 
    } 
相關問題