1. 程式人生 > >TreeView使用集錦

TreeView使用集錦

1.下載地址
http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp
下載後是字尾為bat的版本
(1)bulid.將bulid.bat的路徑指向csc.exe所在路徑,生成Microsoft.Web.UI.WebControls.dll。
(2)在wwwroot下建立空目錄webctrl_client/1_0。
(3)將build/Runtime下的檔案拷至webctrl_client/1_0下。
(4)選擇工具箱的自定義工具箱,新增Microsoft.Web.UI.WebControls.dll。
有些麻煩
但如果你能找到字尾是msi的自動安裝版本,直接下一步就行(我一直用這個版本,hoho)
安裝後,通過“自定義工具箱”->“.net框架元件”把TreeView新增到工具箱裡

2.執行時無法顯示
一般是TreeView的版本問題,最好下載英文版自動安裝版本重新安裝,安裝前應該先到新增刪除程式裡卸掉原版本

3.顯示格式出錯(非樹狀顯示)
TreeView要求客戶端瀏覽器版本為IE5.5及以上,最好要求客戶端升級為IE6.0

4.框架裡使用TreeView
設定NavigateUrl、Target屬性,可更新另外的Frame

5.找不到TreeNode類
使用TreeView,最好新增namespace:using Microsoft.Web.UI.WebControls;

6.遍歷TreeView節點(遞迴演算法)
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.得到node結點的父節點
TreeNode pnode;
if(node.Parent is TreeNode)
 pnode=(TreeNode)node.Parent;
else
 //node is root node

8.修改TreeView樣式(示例)
<iewc:TreeView id="TreeView1" runat="server" HoverStyle="color:blue;background:#00ffCC;" DefaultStyle="background:red;color:yellow;" SelectedStyle="color:red;background:#00ff00;">
用程式碼:
TreeView1.DefaultStyle["font-size"] = "20pt";

9.展開時不提交,改變選擇節點時才提交
將autopostback設定成false; 
在body裡新增  <body  onload="initTree()"> 
然後在PageLoad裡寫: 
string  strTreeName  =  "TreeView1"; 
string  strRef  =  Page.GetPostBackEventReference(TreeView1); 
string  strScript  =  "<script  language=/"JavaScript/">  /n"  +  "<!--  /n"  +  "            function  initTree()  {  /n"  +"                        "  +  strTreeName  +  ".onSelectedIndexChange  =  function()  {  /n"  +    "if  (event.oldTreeNodeIndex  !=   
event.newTreeNodeIndex)  /n"  +  "this.queueEvent('onselectedindexchange',  event.oldTreeNodeIndex  +  ','  +  event.newTreeNodeIndex);  /n"  +    "window.setTimeout('"  +  strRef.Replace("'","file://'/")    +  "',  0,  'JavaScript');  /n"  +    "                        }  /n"  +      "            }  /n"  +    "//  -->  /n"  +  "</script>"; 
Page.RegisterClientScriptBlock("InitTree",strScript  ); 
 
這樣就只有你點選的節點更改的時候才提交!

10.TreeView結合XML
把XML檔案設定為如下格式,然後直接設定TreeNodeSrc為該XML檔案就行
<?xml version="1.0" encoding="GB2312"?>
<TREENODES>
 <TREENODE TEXT="node0" EXPANDED="true">
  <TREENODE TEXT="node1"/>
  <TREENODE TEXT="node2"/>
 </TREENODE>
 <TREENODE TEXT="node3" NavigateURL="3.aspx"/>
</TREENODES>
或者用程式碼
TreeView1.TreeNodeSrc="a.xml";
TreeView1.DataBind();

1.設定所選節點,如選中第二個節點
function SetSelNode()
{
 TreeView1.selectedNodeIndex="1";
}

2.得到所選節點的Text,ID或NodeData
function GetAttribute()
{
 alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替換Text為ID或NodeData,可分別得到所選節點的ID或NodeData

3.修改節點屬性,如修改第一個節點的Text
function ModifyNode()
{
 var node=TreeView1.getTreeNode("0");
 node.setAttribute("Text","hgknight");
}

4.得到點選節點
function TreeView1.onclick()
{
 alert(TreeView1.getTreeNode(TreeView1.clickedNodeIndex).getAttribute("Text"));
}

5.新增節點
function AddNode()
{
 var node=TreeView1.createTreeNode();
 node.setAttribute("Text","hgknight");
 TreeView1.add(node);   
}

6.js遍歷所有節點
 var AllRootNode=new Array();
 AllRootNode=TreeView1.getChildren();
 AlertNode(AllRootNode);  

 function AlertNode(NodeArray)
 {
  if(parseInt(NodeArray.length)==0)
   return;
  else
  {
   for(i=0;i<NodeArray.length;i++)
   {
    var cNode;
    cNode=NodeArray[i];
    alert(cNode.getAttribute("Text"));
    if(parseInt(cNode.getChildren().length)!=0)
     AlertNode(cNode.getChildren());   
   }
  }
 }

相關推薦

TreeView使用集錦

1.下載地址http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp下載後是字尾為bat的版本(1)bulid.將bulid.

TreeView使用集錦(轉載)

作者: hgknight 1.下載地址http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp下載後是字尾為bat的版本(

Windows常用技巧集錦

art 沒有 變量 -- 刷新 環境 shift ref jin 1. Word中如何消除回車符 文件—選項—顯示—勾掉段落標記 2. Windows不重啟就使環境變量修改生效 以修改環境變量“PATH”為例,修改完成後,進入DOS命令提示符,輸入:set

DOS常用命令集錦

dos1 復制文件夾(目錄樹): 例1: xcopy dir1 dir2 /E [/I] dir2已存在的情況下,會把dir1目錄裏的所有文件子目錄復制到dir2目錄中, dir2不存在的情況下,會有提示詢問你dir2是文件呢?還是目錄呢?手動選擇目錄選項自動創建d

運算符集錦

python 運算符算數運算符:運算符描述實例+加 - 兩個對象相加a + b 輸出結果 30-減 - 得到負數或是一個數減去另一個數a - b 輸出結果 -10*乘 - 兩個數相乘或是返回一個被重復若幹次的字符串a * b 輸出結果 200/除 - x除以yb / a 輸出結果 2%取模 - 返回除法的余數

【問答集錦】人工智能/機器學習技術在電商場景下的應用

人工智能 阿裏巴巴 機器學習 近年來阿裏不斷運用深度學習、強化學習等人工智能領域的相關知識優化自身電商平臺的搜索引擎和推薦系統,讓其從冷冰冰的系統不斷成長為越來越懂用戶的智能購物助手。  日前,《盡在雙11》人工智能部分執筆人&阿裏技術專家 樂田 與 仁重 就 “人工智能/機器學習技術在電

unity與xcode交互的問題集錦

分享 com img ges nbsp 題集 unit unity xcode unity與xcode交互的問題集錦

c++ 初學遇到的代碼問題集錦

亂碼 pre 結束 初學 names main include 變量 using 字符串問題 1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 string

架構方面的資料集錦

https details 51cto htm 命名空間 architect 準備工作 問題 apr 轉自:http://www.diguage.com/archives/41.html扯扯蛋曾經見過零零散散地介紹一些知名站點架構的分析文章。近期D瓜哥也想研究一下各大知名

軟件運行問題解決集錦

文件的 microsoft mis 使用 軟件 support common ... program 軟件運行問題之一:提示部件‘COMDLG32.OCX‘或其附件之一不能正確使用:一個文件丟失或無效。 或:COMPONENT ‘COMDLG32.OCX‘ OR ONE

設計模式之問題集錦(一)

是把 後繼 ogr data- 跟著 沒有 解釋器 space 基本實現 設計模式的主要資料是《大話設計模式》。第一階段先看看各種模式的基本概念。實現每一個模式下的樣例。然後在進行理解性的學習和掌握,靈活掌握各種模式的長處,知道某種模式適合那種狀態。如今,樣

WPF使用HierarchicalDataTemplate綁定Dictionary生成TreeView

val tree name ces mod string clas ctr 節點 Dictionary中的<string, CustomeType>CustomeType是一個集合,將其綁定生成一棵樹,樹的第一層節點是Dictionary的Key,第二層是Cus

spring 技巧集錦

href left ring tid segment actuator tom 統計 pen SpringBoot四大神器之Actuator actuator是spring boot提供的對應用系統的自省和監控的集成功能,可以對應用系統進行配置查看、相關功能統計

正則表達式語法&集錦

表達式 字符串 字母 正則表達式正則表達式是一種文本模式,包括普通字符(例如,a 到 z 之間的字母)和特殊字符(稱為“元字符”)。模式描述在搜索文本時要匹配的一個或多個字符串。正則表達式示例表達式匹配/^\s*$/匹配空行。/\d{2}-

Linux Shell 文本處理工具集錦

12c 程序員 常用 忽略 忽略大小寫 第一個 rgs del num 本文將介紹Linux下使用Shell處理文本時最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子和參數都是最常用和最為實用的

Cocos2d-x學習資源集錦+有獎抽樓活動

活躍 ocs 重要 cvs vs2013 develop cocos2d 規則 英文 大家好,事實上我是這個遊戲開發版塊的新任版主之中的一個,可能大家的焦點都在candycat1992女版主身上,所以我認為我應該冒個泡。 俗話說,新版主上任,三把"水"(是你自己說的吧,

一線互聯網公司-開源項目集錦

測試 memcach 編譯 源碼 sea 項目 運維 平臺 des 阿裏巴巴 項目最多,可以去一下地址查找 https://github.com/alibaba/ https://github.com/thx 騰訊 http://alloyteam.github.io

2017年軟考各科最新真題詳細解析資料集錦

軟考真題 軟考答案 軟考真題答案 軟考真題資料 軟考真題視頻 作為51CTO學院的軟考培訓講師,本著對廣大學員負責的態度,在每年同學們參加完軟考考試,我都會盡早的給大家發布各科的真題詳細解析資料。一方面是為了參加軟考考試的同學對自己考試情況做一個準確評估;另一方面是為未來參加軟考考試的學員

R語言適配問題集錦

red dom enc ava unit -a true ngs 編碼 畫圖時的中文亂碼問題 我這是Mac Yousemite 10.10.5,在兩個地方遇到了中文亂碼 1、使用wordcloud包繪制中文標簽雲時。 library(wordclo

JavaWeb錯誤處理集錦

pro spa 出了 導入 strong 再次 status 無法識別 操作 一:起因 (1)自己接下來想走算法的路子,打算把十大算法和數學模型學習一下,算是給自己之前 JavaWeb 的一個總結; (2)記得Java算是第一個比較上手的語言了,更是