结这次的工作,明白了几个关键的地方:
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>

整个功能的实现需要修改微软treeview控件的一个Bug 
需要修改inetpub\wwwroot\webctrl_client\1_0\treeview.htc。
把function doCheckboxClick(el)中的第一行,
el.checked = !el.checked;
改成:
el.checked = !el.getAttribute("checked");

posted on 2004-07-15 14:38 Howard 阅读(3016) 评论(4)  编辑 收藏 引用 收藏至365Key 所属分类: 技术人生

评论

re: 解决TreeView中使用JavaScript完成CheckBox全选的办法 2004-07-15 14:45

不知道这样的操作结果在服务器端是否可以正确获得,因为在实际的应用中曾经发生这样的状况,如果服务器端显式设置过checkbox的状态后,客户端的设置改变无法在服务器端获得

re: 解决TreeView中使用JavaScript完成CheckBox全选的办法 2004-07-15 15:06

我之前遇到的情况就是“客户端的设置改变无法在服务器端获得”,现在这个问题已经解决,所以我才整理这些代码。
但是有一点忘记加了,就是
微软的treeview控件有一个bug,在postback之后,再点击checkbox就会乱了。
需要修改inetpub\wwwroot\webctrl_client\1_0\treeview.htc。
把function doCheckboxClick(el)中的第一行,
el.checked = !el.checked;
改成:
el.checked = !el.getAttribute("checked");

十分感谢公司同时Neil Wang在此问题上对我的帮助

re: 解决TreeView中使用JavaScript完成CheckBox全选的办法 2005-06-17 11:00

好象这样还是会存在问题
在大部分的时候是正常的

有些时候,会有客户端的显示和最终服务器端会有不一致的情况出现

问题原因暂时还没有找到

转载于:https://www.cnblogs.com/hzuIT/articles/473755.html

解决TreeView中使用JavaScript完成CheckBox全选的办法相关推荐

  1. android gridview item添加checkbox,手把手教你实现GridView中Checkbox全选

    全选效果图 这节讲得相对比较基础的东西,高手请忽略. 首先新建一个GridviewAdapter继承BaseAdapter public class GridviewAdapter extends B ...

  2. PHP中获取CHECKBOX提交的内容及checkbox全选

    提交页 //js控制全选/取消全选 <script type="text/javascript"> function check_all(obj,cName) { va ...

  3. react 全选反选_react解决checkbox全选checked的问题

    react解决checkbox全选checked的问题 日期:2018-08-23 来源:程序思维浏览:2117次 今天在做react后台管理系统需要批量删除功能,没想到checkbox在react里 ...

  4. Software knowledge Encyclopedia:extjs是一种软件,自动生成行号,支持checkbox全选

    extjs是一种软件.自动生成行号,支持checkbox全选,动态选择显示哪些列,支持本地以及远程分页,可以对单元格按照自己的想法进行渲染,这些也算可以想到的功能. 功能丰富,无人能出其右. 无论是界 ...

  5. checkbox全选衍生问题讨论

    今天项目中遇到一个很简单的需求,全选.取消全选的功能,pa pa pa,代码如下: <script type="text/javascript" src="http ...

  6. checkbox全选与反选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  7. jQuery如何动态删除TR,input按钮删除本行记录,checkbox全选反选

    checkbox 全选反选 1: var i = 1; 2: function CheckAllTeacher() { 3: if (i % 2 == 1) { 4: i++; 5: $(" ...

  8. JQuery 判断checkbox是否选中,checkbox全选,获取checkbox选中值

    2019独角兽企业重金招聘Python工程师标准>>> JQuery是一个非常容易上手的框架,但是有很多东西需要我们深入学习的. 判断checkbox是否被选中网上有选多种写法,这里 ...

  9. jQuery实现checkBox全选全取消

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

最新文章

  1. POJ 2955 Brackets (区间DP)
  2. 哈佛医学院解析:触发医学深度学习系统受到「对抗攻击」的诱因有哪些?
  3. 中常用的数据结构_C语言实现常用数据结构:基本概念(第0篇
  4. 应用程序池优化配置方案(IIS7、IIS7.5)
  5. dsge模型难做吗_百度Seo优化好做吗,现在做是不是越来越难做?
  6. JavaScript学习(十五)—内部样式与外部样式的修改与设置
  7. 统计匹配检索规则的物品数量
  8. Yalmip:踩坑记录/窍门分享
  9. (完稿)跟大表哥学常识一,15张思维导图
  10. TypeScript 使用 infer 实现类型推断
  11. ICommand和ITool命令操作地图
  12. Invalid initial heap size: -Xms128m-Xmx512
  13. Flutter的原理及美团的实践(下,100%好评
  14. 输出素数并统计个数 (10分)
  15. Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like defau
  16. 2022 199管综真题及答案解析
  17. dba怎么报考_在职DBA学位获得方式及报考注意事项
  18. 【java】课程介绍
  19. Mvc Kissy uploader实现图片批量上传 附带瀑布流的照片墙
  20. unity中触屏控制人物移动

热门文章

  1. 操作iframe里面的标签内容
  2. ListView优化的代码
  3. Transform.Rotate 旋转
  4. IIS中架设二级域名网站
  5. 好友圈的场景有哪些特点,该如何设计?
  6. 神吐槽|产品经理都是如何相爱相撕的?
  7. 比iPhone8更重要的新App Store,给内容产品的未来指出明路
  8. 干货 | 十年经验PM手机里都装了哪些app?
  9. 经纬度坐标系与UTM MGRS坐标系之间的转换 c# 版本
  10. Android开源音乐播放器之播放器基本功能