解决TreeView中使用JavaScript完成CheckBox全选的办法
来源:互联网 发布:人工智能生成物 编辑:程序博客网 时间:2024/05/19 09:02
总结这次的工作,明白了几个关键的地方:
1.JavaScript中的确可以直接引用.Net服务器端控件,但是问题在于,控件的ID在编译后会自动加上名字空间,所以这里要特别注意。
2.使用JavaScript可以使对TreeView的操作不需要再PostBack,十分方便有效。
3.空间状态的显示和实际存储是有区别的,一定要十分注意。
需要在C#文件中加入:
TreeView.Attributes.Add("oncheck", "tree_oncheck()");
主要的JavaScript代码如下:
<script language="javascript">
<!--
function tree_oncheck()
{
var node = TreeView.getTreeNode(event.treeNodeIndex);
var Pchecked = node.getAttribute("checked");
setcheck(node, Pchecked);
TreeView.queueEvent('oncheck', node.getNodeIndex());
}
function setcheck(node, Pc)
{
var ChildNode = new Array();
ChildNode = node.getChildren();
if (parseInt(ChildNode.length) != 0)
{
for (var i = 0; i < ChildNode.length; i++)
{
var cNode = ChildNode[i];
if (cNode.getAttribute("checked") != Pc)
{
if (parseInt(cNode.getChildren().length) != 0)
setcheck(cNode, Pc);
cNode.setAttribute("checked", Pc);
TreeView.queueEvent('oncheck', cNode.getNodeIndex());
}
}
}
}
//-->
</script>
<!--
function tree_oncheck()
{
var node = TreeView.getTreeNode(event.treeNodeIndex);
var Pchecked = node.getAttribute("checked");
setcheck(node, Pchecked);
TreeView.queueEvent('oncheck', node.getNodeIndex());
}
function setcheck(node, Pc)
{
var ChildNode = new Array();
ChildNode = node.getChildren();
if (parseInt(ChildNode.length) != 0)
{
for (var i = 0; i < ChildNode.length; i++)
{
var cNode = ChildNode[i];
if (cNode.getAttribute("checked") != Pc)
{
if (parseInt(cNode.getChildren().length) != 0)
setcheck(cNode, Pc);
cNode.setAttribute("checked", Pc);
TreeView.queueEvent('oncheck', cNode.getNodeIndex());
}
}
}
}
//-->
</script>
整个功能的实现需要修改微软treeview控件的一个Bug
需要修改inetpub/wwwroot/webctrl_client/1_0/treeview.htc。
把function doCheckboxClick(el)中的第一行,
el.checked = !el.checked;
改成:
el.checked = !el.getAttribute("checked");
- 解决TreeView中使用JavaScript完成CheckBox全选的办法
- TreeView中CheckBox的使用
- 实现Treeview 的Checkbox选中根枝叶全选中
- CHECKBOX"全选"的JavaScript
- 关于TreeView中CheckBox的使用
- 使用JavaScript实现checkbox全选
- javascript 操作treeview的checkbox加载、全选、全不选、以及光标回焦问题
- wpf中使用mvvm,解决checkbox全选问题
- jquery 完成checkbox的全选功能
- DataGrid中CheckBox的全选/取消全选
- jquery 完成checkBox完成全选\全不选\反选的功能
- HTML 中 checkbox 的全选
- web中 checkbox的全选
- [转]关于treeview中的checkbox的全选问题
- [转]关于treeview中的checkbox的全选问题
- TreeView CheckBox全选 以及获取选中的值
- jQuery实现Checkbox中项目开发全选全不选的使用
- 使用递归方法获得TreeView中CheckBox选中的节点
- 初级项目经理(1-2 年的资历与经验)
- Cookie编程基础:查看Cookie
- 如何最方便的创建SharePoint解决方案包?
- C#语言参考【lock语句】
- sample code of webview
- 解决TreeView中使用JavaScript完成CheckBox全选的办法
- Cが大好き
- Ubuntu下修改系统默认语言为简体中文
- 22-Nov-2009
- 曾哥传——番外篇(二) 曾经有个MM主动让我摸她
- ASP.NET防止SQL注入函数
- 白手起家需要考虑的27个创业原则
- 网站检测工具10款
- 用C写的读取代码行数。