日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

(JavaScript)实现在客户端动态改变Treeview节点的选中状态

發布時間:2023/12/10 javascript 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (JavaScript)实现在客户端动态改变Treeview节点的选中状态 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Asp.net 2.0 中的 Treeview 非常好用,而且輕便。但在使用過程中,往往會發現一些不夠人性化的地方。

  例如您要設計一棵樹,里面放置了一些收藏的網址。在這棵樹中,節點的 SelectAction 只有 Expand 和 NavigateUrl 狀態,也就是說沒有回調節點。這個時候您會發現一個嚴重的問題:點擊節點后,節點不會顯示為選中狀態(背景顏色沒改變),哪怕你已經設置了 SelectedNodeStyle 。

  SelectedNodeStyle 必須在回調以后才會生效,也就是說,頁面要刷新。這是難以忍受的。如圖:



  JavaScript 可以幫助我們改變這個尷尬的局面。一個簡單的思路是,Node.Text 不是單純的 Text,而是修改為一個帶 ID 的 Span 。我們增加以下方法:

/**////?<summary>
///?把節點設置為客戶端選中狀態
///?</summary>

private?void?SetNodeText(TreeNode?node)
{
string?id?=?"spnode_"?+?node.Value;
node.Text?
=?"<span?style='cursor:hand'?id='"?+?id?+?"'?οnclick=\"SetNode('"?+?id?+?"')\">"?+?node.Text?+?"</span>";
}

  我們可以看到,點擊節點,則調用了客戶端的一個 SetNode 腳本:

<script>
????
var?lastnode?=?"";
????
function?SetNode(node)
????
{
????????document.getElementById(node).style.backgroundColor
='#DBDBDB';
????????
if(lastnode!=""?&&?lastnode!=node)
????????
{
????????????document.getElementById(lastnode).style.backgroundColor
='#FFFFFF';
????????}

????????lastnode
=node;
????}

</script>
  在這個腳本中,我們采用一個全局變量 lastnode ,來保存上一次點擊的節點 ID。

  OK,現在為每個節點都調用 SetNodeText 方法,效果就出來了:



源代碼:/Files/lemony/TreeViewEx.rar

注:

1,每個 Node 的 Value 都應該不同,這樣在客戶端產生的 Span ID 才會不重復。
2,JavaScript 可以輔助 TreeView 實現更好的客戶端效果,只要你想得到。

轉載于:https://www.cnblogs.com/lemony/archive/2007/05/18/751053.html

總結

以上是生活随笔為你收集整理的(JavaScript)实现在客户端动态改变Treeview节点的选中状态的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。