王力猛的博客

-=☆开发手记☆=-

老王ID:wallimn
34112次访问,排名3351好友4人,关注者18
写过一些软件,VC、Delphi、Java都会一些,Oracle数据库也懂一点。这几年一直在同这些东西打交道。
wallimn的文章
原创 50 篇
翻译 0 篇
转载 7 篇
评论 89 篇
wallimn的公告

  我是一名编程爱好者,在此记录一些我编程过程中遇到的问题及解决方法,希望对遇到类似问题的朋友有所帮助。
  欢迎有共同爱好的朋友联系交流。
邮件:
wallimn@yahoo.cn
QQ:
54871876
MSN:
wallimn@hotmail.com
网络硬盘:
http://wallimn.ys168.com
最近评论
wallimn:仔细看了你的SQL,似乎应该没有问题呀。
我回去试一下。你可以把这个SQL分开测试一下,先测试一下内层的那句对不对:select top "+pageBean.rowsPerPage*(pageNum-1)+" forumId from user_forum order by forumTime desc
sujh:用IE打开有签名或图章的word文档就会出错使IE关闭
supershare:为什么按时间排序不行呢?

select top "+pageBean.rowsPerPage+" * from user_forum where forumId not in(select top "+pageBean.rowsPerPage*(pageNum-1)+" forumId from user_forum order by forumTime desc) o……
wallimn:图章使用gif图片。
xxx:WORD插件中的签名和图章能不能透明处理一下
文章分类
收藏
    相册
    个人相册
    友情链拉
    我的博客2
    我的网络硬盘
    我老婆的博客
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 带checkbox的网页树形控件收藏

    新一篇: 网页上如何执行本地程序 | 旧一篇: ACCESS分页的SQL语句

    作者:王力猛(网名:wallimn、邮件:wallimn@sohu.com)
    博客:http://blog.csdn.net/wallimn
    时间:2007-08-31
    声明:此文欢迎转载,转载请保留本人信息。如果对您有帮助,希望心存感激,呵呵。更多文章,请访问我的博客。

      做WEB程序的人多数应该听说过dtree,这个插件还不错,简单、效率还算可以,而且可以在cookie中保存树的状态(刷新页面树会保持节点展开、收拢状态),如果节点量不是很大的情况下,是个不错的选择。我在好几个项目里都用到过。但这个插件不带checkbox,这不能不说是个遗憾,因为这个应用场合还是很多的。
      现在对javascript程序有了较多的了解,决定自己给dtree添上这个功能,写这两句话的意思是告诉大家,在已有插件的基础上DIV并不是很困难,呵呵。just do it。
      dtree的节点(Node)是个对象,所有节点保存在树(dTree)对象的一个属性里,重载了两个对象的toString()函数,在页面显示的时候执行所有的toString()操作。搞清程序的大致流程,改造工作就比较简单了,分以下几步:
      1.给树对象的config对象添加一个控制checkbox是否显示的属性;
       this.config = {
        target     : null,
        folderLinks   : true,
        useSelection  : true,
        useCookies   : true,
        useLines    : true,
        useIcons    : true,
        useStatusText  : false,
        closeSameLevel : false,
        inOrder     : false,
        check:false  //**新加的
      } 

      2.修改节点对象的toString()方法,添加...input type="checkbox"...代码;
      if(this.config.check==true){
       str+= '<input type="checkbox" id="c'+  this.obj + nodeId + '" onclick="javascript:'+this.obj+'.cc('+nodeId+')"/>';
      }
      
      3.写checkbox页面元素的onclick事件处理函数,这个函数用来智能控件树节点的checkbox状态。也就是说,勾选一个节点的checkbox,自动勾选其所有父节点及其所有子节点;取消勾选节点的checkbox,自动取消勾选其所有子节点的勾选状态,而其父节点的勾选状态不变。这个是个比较重要的新功能,一些具有checkbox的页面插件并不具备这个功能,这个功能使用递归算法实现。
      dTree.prototype.cc=function(nodeId){
      var cs = document.getElementById("c"+this.obj+nodeId).checked;
      var n,node = this.aNodes[nodeId];
      var len =this.aNodes.length;
      for (n=0; n<len; n++) {
       if (this.aNodes[n].pid == node.id) {
        document.getElementById("c"+this.obj+n).checked=cs;
        this.cc(n);  
       }
      }
      if(cs==false)return;
      var pid=node.pid;
      var bSearch;
      do{
       bSearch=false;
       for(n=0;n<len;n++){
        if(this.aNodes[n].id==pid){
         document.getElementById("c"+this.obj+n).checked=true;
         pid=this.aNodes[n].pid;
         bSearch= true;    
         break;
        }
       }
      }while(bSearch==true);
     }

      基本这样这可以了。如果嫌以上叙述不清楚,或者想省事不想自己修改,可以跟我联系索取所有源码。
      我还使用jsp对这个树形控件进行了封装,这个封装使用很简单。利用jsp:include标签包含我封装的jsp文件,传入参数(jsp:param):从数据库中取记录的SQL语句,可自动在页面上根据数据库记录生成树形控件。如果你的系统中大量用到树形控件,这会对你有很大的帮助。 

      请到我的网络硬盘下载:http://wallimn.ys168.com

    发表于 @ 2007年09月10日 09:48:00|评论(loading...)|编辑

    新一篇: 网页上如何执行本地程序 | 旧一篇: ACCESS分页的SQL语句

    评论

    #nocb 发表于2007-09-18 20:39:07  IP: 222.240.233.*
    关键是 怎样获得 选中的值啊?
    #wallimn 发表于2007-09-23 10:20:21  IP: 124.206.19.*
    遍历一下dtree的数组就可以了.可以加个变量标识,也可以getElementById
    #sdf 发表于2007-09-29 16:36:43  IP: 219.232.117.*
    你好,这个基础是明白了,请教带复选框的树出来后是如果确定checkbox的value值的。是数据库中此条记录的id么?
    或者说我前台选定了某几个复选框。如何和实际的数据进行对应。因为我看了tree。js,看到里面加入checkbox的时候,value值好像对应不上,
    请指教,谢谢
    #wallimn 发表于2007-10-03 11:20:52  IP: 222.174.50.*
    对呀,存在数据库里,或其它的地方,树本身不能存。装载树的时候对应着设置上就可以了。
    #largerain 发表于2008-01-21 14:42:36  IP: 58.246.20.*
    楼主,的相关树的javascript封装的代码能给我一份么,我想研究研究,邮箱是largerain_7@yahoo.com.cn,谢谢!
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © wallimn