TreeView节点选择问题
2008-03-31 12:41
435 查看
就是VS2005的TreeView中父节点的CheckBox被点击 则其下的所有子节点也被选中
子节点只要有一个选择 父节点也被选择上
子节点没有一个被选择 父节点就取消选择
<script >
function GoClick()
{
var obj = event.srcElement;
if(obj.tagName.toUpperCase() != "INPUT") return;
var tb = obj.parentElement.parentElement.parentElement.parentElement;//当前节点的Table
SelAllChildren(tb,obj.checked);
tb= tb.parentElement;//
while(true)
{
tb = tb.previousSibling
if( tb == null) return;
SetParentCheckBoxStatus(tb);
tb= tb.parentElement
if( tb == null) return;
}
}
function SelAllChildren(tb,checked)
{
var div = tb.nextSibling;
try
{
for(var i=0;i<div.children.length;i++)
{
if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
var chkBox= FindRowCheckBox(div.children[i].rows[0]);
if(chkBox == null) continue;
chkBox.checked = checked;
SelAllChildren(div.children[i],checked);
}
}catch(e){}
}
function SetParentCheckBoxStatus(objTb)
{
var div = objTb.nextSibling;
var bSelAll = true;
var bSelOne = false;
for(var i=0;i<div.children.length;i++)
{
if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
var chkBox= FindRowCheckBox(div.children[i].rows[0]);
if(!chkBox.checked)
{
bSelAll =false;
}else
{
bSelOne = true;
}
}
if(objTb.rows!= null)
{
var chkBox = FindRowCheckBox(objTb.rows[0])
chkBox.checked = bSelOne;
}
}
function FindRowCheckBox(tr)
{
for(var i=0;i<tr.cells.length;i++)
{
if(tr.cells[i].firstChild.tagName == "INPUT")
{
return tr.cells[i].firstChild;
}
}
}
function CheckDeleteTree(form,treeviewid)
{
if(document.getElementById(treeviewid+"_SelectedNode").value == "")
{
alert("请选择!");
return
}else
{
return confirm("确定?");
}
}
</script>
<asp:TreeView ID="TreeView1"
onclick="javascript:GoClick()"
EnableClientScript="true"/>
子节点只要有一个选择 父节点也被选择上
子节点没有一个被选择 父节点就取消选择
<script >
function GoClick()
{
var obj = event.srcElement;
if(obj.tagName.toUpperCase() != "INPUT") return;
var tb = obj.parentElement.parentElement.parentElement.parentElement;//当前节点的Table
SelAllChildren(tb,obj.checked);
tb= tb.parentElement;//
while(true)
{
tb = tb.previousSibling
if( tb == null) return;
SetParentCheckBoxStatus(tb);
tb= tb.parentElement
if( tb == null) return;
}
}
function SelAllChildren(tb,checked)
{
var div = tb.nextSibling;
try
{
for(var i=0;i<div.children.length;i++)
{
if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
var chkBox= FindRowCheckBox(div.children[i].rows[0]);
if(chkBox == null) continue;
chkBox.checked = checked;
SelAllChildren(div.children[i],checked);
}
}catch(e){}
}
function SetParentCheckBoxStatus(objTb)
{
var div = objTb.nextSibling;
var bSelAll = true;
var bSelOne = false;
for(var i=0;i<div.children.length;i++)
{
if(div.children[i].tagName.toUpperCase()!="TABLE")continue;
var chkBox= FindRowCheckBox(div.children[i].rows[0]);
if(!chkBox.checked)
{
bSelAll =false;
}else
{
bSelOne = true;
}
}
if(objTb.rows!= null)
{
var chkBox = FindRowCheckBox(objTb.rows[0])
chkBox.checked = bSelOne;
}
}
function FindRowCheckBox(tr)
{
for(var i=0;i<tr.cells.length;i++)
{
if(tr.cells[i].firstChild.tagName == "INPUT")
{
return tr.cells[i].firstChild;
}
}
}
function CheckDeleteTree(form,treeviewid)
{
if(document.getElementById(treeviewid+"_SelectedNode").value == "")
{
alert("请选择!");
return
}else
{
return confirm("确定?");
}
}
</script>
<asp:TreeView ID="TreeView1"
onclick="javascript:GoClick()"
EnableClientScript="true"/>
相关文章推荐
- TreeView节点选择问题
- treeview选择节点问题
- delphi中treeview的节点选择问题
- C#.Net中TreeView控件右键选择节点问题处理
- treeView控件节点被选择后,失去焦点。但是该节点有背景色的问题。
- Csharp: TreeView 初始化设置默认选择节点
- silverlight treeview 中添加复选框实现实现选择父节点,其下的子节点全部选中:
- TreeView选择父节点自动选中子节点
- ASP.NET 2.0 TreeView 树状控件-父子节点选择javascript脚本
- 解决treeview未选中时,默认选中首个根节点的问题!
- C#WINDOW VS2015 c#TreeView 之后点击树中的任何一个节点,触发事件问题
- winform TreeView 节点选择
- 问题-在TreeView使用时,发现选中的树节点会闪烁或消失
- winform TreeView 节点选择
- 动态规划之最大k乘积,编辑距离,k好数,节点选择,背包问题
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)
- asp.net TreeView安装、使用(如何将TreeView打包发布)(带CheckBox选择框的TreeView的初始化,TreeView客户端操作:选择父节点后自动选择所有子节点,子节点选择后自动选择父节点)(TreeView节点精确定位)2005-12-23更新
- 在Winform中的TreeView控件,实现选中/取消选中父节点则自动选择/取消选中对应子节点
- TreeView控件时发现带有CheckBox控件的TreeNode对象(TreeView节点),选择CheckBox无法回发页面
- 关于treeview高度点亮选择的节点