繼續上次的吧,本來還有點瞌睡:) (昨晚的德國VS哥隊夠精彩),還是堅持寫完吧.今天說哈怎麼實現Select All TreeView全部節點的功能?怎麼實現展開和摺疊自如?
請看:
節點全部選中的實現:function SelectAllFunctions()
{
var tree= document.getElementById('<%=tvRoleFunctions.ClientID%>');
var chckAll=document.getElementById('<%=chSelectAll.ClientID%>');
var NodeArray=tree.getChildren();
for(var i=0;i<NodeArray.length;i++)
{
cNode=NodeArray[i];
if(chckAll.checked )
{
cNode.setAttribute('checked',true);
GetSelectedFunctionID(cNode);
Checked(cNode);
}
else
{
cNode.setAttribute('checked',false);
UnChecked(cNode);
}
}
}
function Checked(node)
{
var NodeArray=node.getChildren();
for(var i=0;i<NodeArray.length;i++)
{
childNode=NodeArray[i];
childNode.setAttribute('checked',true);
}
}function UnChecked(node)
{
var NodeArray=node.getChildren();
for(var i=0;i<NodeArray.length;i++)
{
cNode=NodeArray[i];
cNode.setAttribute('checked',false);
}
}
節點的展開和摺疊實現://TreeView的節點展開收回
function ExpandAllNodes()
{
var tree=document.getElementById('<%=tvRoleFunctions.ClientID%>');
Expandedall(tree);
}
function CollospaeAllNodes()
{
var tree=document.getElementById('<%=tvRoleFunctions.ClientID%>');
Unexpandedall(tree);
}function Expandedall(node)
{
var i = 0;
var nodes = new Array();
nodes = node.getChildren();
//alert(nodes.length);
for(i = 0; i < nodes.length; i++)
{
var cNode;
cNode=nodes[i];
cNode.setAttribute("expanded", "true");
if(parseInt(cNode.getChildren().length) != 0 )
{
Expandedall(cNode);
}
}
}function Unexpandedall(node)
{
var i = 0;
var nodes = new Array();
nodes = node.getChildren();
for(i = 0; i < nodes.length; i++)
{
var cNode;
cNode=nodes[i];
if(parseInt(cNode.getChildren().length) != 0 )
{
Unexpandedall(cNode);
}
cNode.setAttribute("expanded", "false");
}
}
這個怎麼調用就不用說了吧!呵呵........
下次寫作預告:
在Firefox下TreeView的父子節點聯動實現、節點的全部選擇和節點的展開和摺疊實現.....