您的位置:首页 > 编程语言

客户端代码实现无刷新TreeView的复选框多选

2008-09-20 17:13 281 查看
1. 服务端加载数据.
2.设置每个节点 . NavigateUrl = "javascript:void(0)"或者设置 . NavigateUrl = "#", 但是后者在刷新页面后可能导致TreeView所在页面位置上靠; 目的是防止默认情况下点击节点导致刷新整个页面的麻烦.

3.注册节点的点击事件chkTreeView.Attributes.Add("onclick", "javascript:return CheckNode();");

4.客户端编写点击复选框的操作代码

function CheckNode()

//查找CheckBox

function FindCheckBox(rowList)

//如果没有CheckBox则查找其他节点

function FindNode(rowList)

//所有子 节点是否都是选中状态

function IsFullChildrenChecked(parentNodeTable)

//把子节点都为选中状态的父节点也设置为选中状态

function SelFullChildrenChecked(parentNodeTable)

//设置所有子节点

function SelAllChildren(currNodeTable, flagChecked)

//设置所有父节点

function SelAllParent(parentNodeTable, flagChecked)

//在XML文档中查找节点

function FindXMLNode(parentNode, nodeID)

function SetXMLNodeChecked(nodeID, checkedFlag)

function CreateXMLDoc()

function createXMLHttp()

function GetAllCheckedNodes(currNodeTable)

//获取最上一级的指标节点ID, 如果有父节点, 则只记录父节点的ID

function GetHighChildCheckedNode(currNodeTable)

//获取最上一级的指标节点ID, 如果有父节点, 则只记录父节点的ID

function GetAllChildCheckedNodes(currNodeTable)

function GetRootNode(currNodeTable, preNodeTable)

...{


if(RootNode != null)


return RootNode;




if(currNodeTable == null)


return null;




var lastNode = FindCheckBox(currNodeTable);


if(lastNode == null)




...{


lastNode = FindNode(currNodeTable);


}




if(lastNode == null)




...{


RootNode = preNodeTable;


return RootNode;


}




parentNodeTable = lastNode.parentElement.parentElement.parentElement.parentElement;


parentNodeTable = parentNodeTable.parentElement.previousSibling;//父节点




RootNode = GetRootNode(parentNodeTable, currNodeTable);


if(RootNode != null)


return RootNode;






}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: