在vs2005中使用带checkbox的treeview,如何解决选中其中节点,其子节点全部选中,相应父节点也选中,子节点全部取消选中时父节点相应取消选中,也就是最基本的这个应用。
原来在asp.net1.*中treeview有AutoPostBack属性,只要设置其为true,就可以在OnTreeNodeCheckChanged方法中作相应处理来实现。
可是现在asp.net2.0中AutoPostBack属性没有了,也在网上搜了很多的js在客户端来处理选中的,可是都是asp.net1.*中的,我在asp.net2.0中没有调试成功,也可能是我这方面太弱没写好。请完整解决过这个问题的朋友给个解决方法,没用到的就帮者顶吧谢谢各位。分数分配:100分散分,100分给解决问题了的,如果没有解决那200就散了
原来在asp.net1.*中treeview有AutoPostBack属性,只要设置其为true,就可以在OnTreeNodeCheckChanged方法中作相应处理来实现。
可是现在asp.net2.0中AutoPostBack属性没有了,也在网上搜了很多的js在客户端来处理选中的,可是都是asp.net1.*中的,我在asp.net2.0中没有调试成功,也可能是我这方面太弱没写好。请完整解决过这个问题的朋友给个解决方法,没用到的就帮者顶吧谢谢各位。分数分配:100分散分,100分给解决问题了的,如果没有解决那200就散了
应该可以执行,.net2005向下兼容的
应该可以执行,.net2005向下兼容的
----------------------------------------------
现在用的是vs2005自带的treeview,这个要比原来发布的那个改进了不少,所以就是想研究出这个treeview的用法
<body onclick="a()">
<form runat="server">
<asp:TreeView ID="TreeView1" runat="server" ShowCheckBoxes="All" ShowLines="True">
<Nodes>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点">
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
<asp:TreeNode Text="新建节点" Value="新建节点"></asp:TreeNode>
</Nodes>
</asp:TreeView>
</form>
</body><script>
function a()
{
if(event.srcElement.tagName=="INPUT")
{
obj = event.srcElement
var hasTreeNode = false
if (obj.tagName == "INPUT" && obj.type == "checkbox") {
var treeNode = obj while (obj.tagName != "TABLE")
{
obj = obj.parentNode
}
var pt = obj.rows[0].cells.length
var parentTreeNode = obj.rows[0].cells[0]
var containerDiv = obj.parentNode
if(containerDiv == null)
{
return
}
var tables = containerDiv.getElementsByTagName("TABLE")
var tableCount = tables.length
if(tableCount < 1)
{
return
}
for (i = 0; i < tableCount; i++)
{
if (tables[i] == obj)
{
hasTreeNode = true;
i++;
if (i == tableCount)
{
return;
}
}
if (hasTreeNode)
{
var ct = tables[i].rows[0].cells.length;
if (ct > pt)
{
var cell = tables[i].rows[0].cells[ct - 1];
var inputs = cell.getElementsByTagName("INPUT");
inputs[0].checked = event.srcElement.checked;
}
else
{
return;
}
}
}
}
}
}
</script>