如何获取treeview下级目录的子节点 treeview树如:root--第0层根节点------第一层节点1 ------第二层节点1------第一层节点2第一层是从数据库读取添加的节点,现在要找到第一层的节点名称,添加第二层的节点。要怎样或取呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/t/20030313/11/1525202.htmlTreeView专题讨论 怎么判断已被选择?CHECKED??还是checkbox? <script language="javascript">/*函数名称:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)作者:常东方创建日期:2005-02-02函数功能:实现带checkbox的treeview中 1、选中父结点其子结点也全部选中 2、取消全部子结点的选择后,父结点的选择也随之取消使用方法:1、在<head></head>中间添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode) 2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")*///递归遍历所有子节点function CheckNode(currentNode){var childNode=new Array();var parentNodeChild=new Array();var isChecked;childNode=currentNode.getChildren();if(currentNode.getAttribute('checked')){isChecked=true;}else{isChecked=false;}//父节点处理if(currentNode.getParent()!=null){//选中处理if(currentNode.getAttribute('Checked')){ParentNode(currentNode);}else//取消选中{ChildNode(currentNode);}}else{//什么也不做}//子节点处理if(childNode.length>0){for(var i=0;i<childNode.length;i++){childNode[i].setAttribute("Checked",isChecked);if(childNode[i].getChildren().length>0){CheckNode(childNode[i]);}}}}//递归选中父节点function ParentNode(currentNode){if(currentNode.getParent()!=null){currentNode.getParent().setAttribute('Checked',true);//递归调用ParentNode(currentNode)以遍历更上一层的父节点ParentNode(currentNode.getParent());}}//递归取消选中父节点function ChildNode(currentNode){if(currentNode.getParent()!=null){var checkedCount=0;var childNode=currentNode.getParent().getChildren();for (var i=0;i<childNode.length;i++){if(childNode[i].getAttribute('Checked')){checkedCount++;}}if(checkedCount==0){currentNode.getParent().setAttribute('Checked',false);}//递归调用ChildNode(currentNode)以遍历更上一层的父节点ChildNode(currentNode.getParent());}}</script> 2.得到所选节点的Text,ID或NodeDatafunction GetAttribute(){ alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));}替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData3.修改节点属性,如修改第一个节点的Textfunction 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); } 用c#自带控件webBrowser开发浏览器程序,如何阻止弹出窗口(window.open) 请高手进来帮帮忙啊 如何将换行转换成html标签? 将字符串转换为 uniqueidentifier 时失败 调用webservice时候的错,帮忙看看是什么原因? SQL Server windows认证连接失败 不够加分 数据库中存储的是图片的路径,如何从数据库中读出路径在GridView控件中显示图片 在DataGrid中如何按照指定要求来排列数据 關於大文件上傳及斷點續傳的問題 DataGrid编辑的问题... 获取参数值! DataList绑定金额问题
TreeView专题讨论
<script language="javascript">
/*
函数名称:CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
作者:常东方
创建日期:2005-02-02
函数功能:实现带checkbox的treeview中
1、选中父结点其子结点也全部选中
2、取消全部子结点的选择后,父结点的选择也随之取消
使用方法:1、在<head></head>中间添加CheckNode(currentNode)、ParentNode(currentNode)、ChildNode(currentNode)
2、在*.aspx.cs的Page_load()事件中添加yourTreeView.Attribute.Add("OnCheck","CheckNode(yourTreeView.getTreeNode(yourTreeView.clickedNodeIndex))")
*/
//递归遍历所有子节点
function CheckNode(currentNode)
{
var childNode=new Array();
var parentNodeChild=new Array();
var isChecked;
childNode=currentNode.getChildren();
if(currentNode.getAttribute('checked'))
{
isChecked=true;
}
else
{
isChecked=false;
}
//父节点处理
if(currentNode.getParent()!=null)
{
//选中处理
if(currentNode.getAttribute('Checked'))
{
ParentNode(currentNode);
}
else
//取消选中
{
ChildNode(currentNode);
}
}
else
{
//什么也不做
}
//子节点处理
if(childNode.length>0)
{
for(var i=0;i<childNode.length;i++)
{
childNode[i].setAttribute("Checked",isChecked);
if(childNode[i].getChildren().length>0)
{
CheckNode(childNode[i]);
}
}
}}
//递归选中父节点
function ParentNode(currentNode)
{
if(currentNode.getParent()!=null)
{
currentNode.getParent().setAttribute('Checked',true);
//递归调用ParentNode(currentNode)以遍历更上一层的父节点
ParentNode(currentNode.getParent());
}
}
//递归取消选中父节点
function ChildNode(currentNode)
{
if(currentNode.getParent()!=null)
{
var checkedCount=0;
var childNode=currentNode.getParent().getChildren();
for (var i=0;i<childNode.length;i++)
{
if(childNode[i].getAttribute('Checked'))
{
checkedCount++;
}
}
if(checkedCount==0)
{
currentNode.getParent().setAttribute('Checked',false);
}
//递归调用ChildNode(currentNode)以遍历更上一层的父节点
ChildNode(currentNode.getParent());
}
}</script>
2.得到所选节点的Text,ID或NodeData
function GetAttribute()
{
alert(TreeView1.getTreeNode(TreeView1.selectedNodeIndex).getAttribute("Text"));
}
替换Text为ID或NodeData,可分别得到所选节点的ID或NodeData3.修改节点属性,如修改第一个节点的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);
}