2012-04-09 22 views
1

我有一個treeview,我不想回發點擊任何childnodes.And我會得到選定的childnode值。 我找到了解決方案,當我設置「node_.SelectAction = TreeNodeSelectAction.None;」我不能選擇任何孩子節點,並沒有突出顯示。如何在ASP.NET上設置treeview的childnode回傳false?

等待你的幫助。關於我的恩。

.aspx的:

<asp:TreeView ID="TreeView1" runat="server"></asp:TreeView> 

CS:

TreeView1.Nodes.Clear(); 
TreeView1.TreeNodeExpanded += new TreeNodeEventHandler(TreeView1_TreeNodeExpanded); 

DataTable dt = ImzaDll.Imza.KategorileriGetir(true); 

foreach (DataRow row in dt.Rows) 
{ 
    TreeNode node_ = new TreeNode(); 
    node_.Text = row["ACIKLAMA"].ToString(); 
    node_.Value = row["KATEGORI"].ToString(); 
    TreeView1.Nodes.Add(node_); 
} 



void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e) 
{ 
    addChildNodes(e.Node); 
} 



private void addChildNodes(TreeNode node) 
{ 
    DataTable dt = ImzaDll.Imza.KutuphaneBasliklariGetir(true, node.Value.ToString()); 

    foreach (DataRow row in dt.Rows) 
    { 
     TreeNode childNode = new TreeNode(); 
     childNode.Text = row["BASLIK"].ToString(); 
     childNode.Value = row["KUTUPHANE_ID"].ToString(); 
     childNode.ToolTip = row["BASLIK"].ToString() + " kütüphanesini ekle"; 
     childNode.Target = "_new"; 


     node.ChildNodes.Add(childNode); 
    } 
} 

回答

6

您可以設置樹形子節點的CssClass 像

 <asp:TreeView LeafNodeStyle-CssClass="childnode" runat="server">....</asp:TreeView> 

然後使用jQuery你獲得類並將返回false像跟隨。

 $(".childnode").click(function(){ 
       return false; 
     }) 

...同樣的方式,你可以設置RootNodeStyle-的CssClass,ParentNodeStyle-的CssClass類,並使用jQuery來設置他們...

+0

感謝它爲回傳,我怎樣才能得到selectedchildnode? – Mennan 2012-04-09 11:39:29

+0

你實際想要達到什麼??你想在代碼後面得到selectedChildnode的值? – Usman 2012-04-09 11:44:01

+0

是的,我想要得到selectedChildnode值,我也不能看到代碼背後的那個「onchildnodeclick」。 – Mennan 2012-04-09 11:48:06

0

你可以刪除鏈接的href( 'A')標記屬性停止後回到

$('#ctl00_ContentPlaceHolder1_tvHierarchyView table tr td>a').click(function() { 
     var treeViewData = window["<%=tvHierarchyView.ClientID%>" + "_Data"];   
     if (treeViewData.selectedNodeID.value != "") {  
      var selectedNode=document.getElementById(treeViewData.selectedNodeID.value);  
      var value = selectedNode.href.substring(selectedNode.href.indexOf(",") + 3, selectedNode.href.length - 2);     
      var text = selectedNode.innerHTML; 
      alert("Text: " + text + "\r\n" + "Value: " + value); 
     } else { 
       alert("No node selected.") 
      } 
       $(this).removeAttr("href"); 

      /// ...................... rest of your code 

}); /// End of click function  
}); /// End of document ready function 

下面步驟說明:

  1. 獲取機號通過使用檢查元素包含樹表:
  2. 從選定的子節點獲取詳細信息。
  3. 拍完子節點的詳細信息後,刪除屬性「href」以避免回發。
  4. 什麼就做什麼功能,你有什麼選擇的節點的細節做的(例如,通過使用AJAX選擇的值)
相關問題