微软的TreeView控件,呈现到客户端后是html 组件 treeview.htc 在web 根目录的webctrl_client文件夹下,如果,所以安装完微软的IEWebControls后必须确认自己的web根目录下的webctrl_client得htc和资源文件是否完整。
TreeView 空件的命名空间是Microsoft.Web.UI.WebControls,在客户端的输出是treeview.htc。既然是组件,那就有,属性,方法,事件等,我们完全可以在客户端对treeview 操作,减少一些与服务端无谓的交互。
1.取某节点得index
function getNodeIndex(node){
var strIndex = "";
if (node != null){
if (node.getAttribute("sibIndex") == null){
if (node.parentElement == null){
return null;
}
var col = node.parentElement.children.tags("treenode");
var i = 0;
while (col[i] != node) i++;
node.setAttribute("sibIndex",i);
}
strIndex = node.getAttribute("sibIndex");
while (node.getAttribute("parentElement") && node.getAttribute("parentElement").tagName.toLowerCase() == "treenode") {
node = node.getAttribute("parentElement");
if (node.getAttribute("sibIndex") == null)
return null;
strIndex = node.getAttribute("sibIndex") + "." + strIndex;
}
}
return strIndex;
}
2.取节点id是某各值的节点index
function getNodeIndexbyId(tTree,strId)
{
var objColl=tTree.getChildren();
for (var i=0;i<objColl.length;i++)
{
if (objColl[i].getAttribute("ID").toString()==strId)
{
return getNodeIndex(objColl[i]);
}
else
{
var strTemp=getNodeIndexbyId(objColl[i],strId);
if (strTemp!="")
{
return strTemp;
}
}
}
return "";
}
3.展开树上的所有节点
function DoExpand(tTree)
{
var objColl=tTree.getChildren();
for (var i=0;i<objColl.length;i++){
objColl[i].setAttribute("Expanded",true);
DoExpand(objColl[i]);
}
}
4.判断树上是否含有text是某个指定值的节点
function DoTest(tNode){
var objColl=tNode.getChildren();
for (var i=0;i<oColl.length;i++){
if (objColl[i].getAttribute("text")=="xam"){
return true;
}
else{
if(DoTest(objColl[i])==true)
{
return true;
}
}
}
}
微软的TreeView控件的客户端操作
最新推荐文章于 2017-02-08 21:34:34 发布