论坛首页 Web前端技术论坛

EXT2.0 checkbox树的扩展(支持单选,级联多选,只选叶子等)

浏览 82987 次
精华帖 (6) :: 良好帖 (18) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-08-24  
恩  EXT2.2 没有这个问题了  谢谢
0 请登录后投票
   发表时间:2008-09-03  
我做了例子,只能在根结点以下的子节点前显示checkbox
请问楼主,有办法让根结点上加checkbox
如下图,怎么在根上显示checkbox呢?
  • 大小: 13.5 KB
0 请登录后投票
   发表时间:2008-09-03  
hackboyo 写道
我做了例子,只能在根结点以下的子节点前显示checkbox
请问楼主,有办法让根结点上加checkbox
如下图,怎么在根上显示checkbox呢?

有个参数,仔细找找
0 请登录后投票
   发表时间:2008-09-03  
var tree;
    Ext.onReady(function(){

        Ext.BLANK_IMAGE_URL = "../extjs/resources/images/default/s.gif" 
       var treeLoader = new Ext.tree.DWRTreeLoader({
          dwrCall:FunctionService.getFuncByRole
       }) ;                                                    
       var Tree = Ext.tree;
       tree = new Tree.TreePanel({
            el:"tree-div",
            useArrows:true,
            autoScroll:true,
            animate:true,
            enableDD:true,
            containerScroll: true, 
           loader:treeLoader
       });
         var root = new Ext.tree.AsyncTreeNode({
            text:'<%=functionService.getFunctionRoot().getName()%>',
            draggable:false,
            id:"1"
        });
        tree.on('checkchange', function(node, checked) {
                node.expand();
                node.attributes.checked = checked;
                node.eachChild(function(child) {
                    child.ui.toggleCheck(checked);
                    child.attributes.checked = checked;
                    child.fireEvent('checkchange', child, checked);
                });
            }, tree);
        tree.setRootNode(root);
        tree.render();
        root.expand(true,true);

    });


代码是上面的,我就是找了好久都没看到啊!
不知道怎么加上去
上楼的兄弟知道吗?告诉我一下,先谢了!
0 请登录后投票
   发表时间:2008-09-03  
我刚才找到了,在root中加入checked:false就行了

var root = new Ext.tree.AsyncTreeNode({   
            text:'<%=functionService.getFunctionRoot().getName()%>',   
            draggable:false,   
            id:"1",
            checked:false
        });  



谢谢各位了!
0 请登录后投票
   发表时间:2008-09-09  
非常感谢, 正好项目需要!
0 请登录后投票
   发表时间:2008-09-09  
hackboyo 写道
我做了例子,只能在根结点以下的子节点前显示checkbox
请问楼主,有办法让根结点上加checkbox
如下图,怎么在根上显示checkbox呢?


根结点直接加 checked:false 是没有级联等效果的。
加上属性uiProvider:Ext.ux.TreeCheckNodeUI 就行了,如:
tree = new Ext.tree.TreePanel({
     applyTo:'tree-ct',
     width:568,
     height:300,
     checkModel: 'cascade',
     animate: false,
     autoScroll:true,
     loader: new Ext.tree.TreeLoader({
          dataUrl:'getNodes.jsp',
          baseAttrs: { uiProvider: Ext.ux.TreeCheckNodeUI }
     }),
     root: new Ext.tree.AsyncTreeNode({
          id:'0',text:'根结点',uiProvider:Ext.ux.TreeCheckNodeUI
     })
});
0 请登录后投票
   发表时间:2008-10-05  
非常感谢, 正好项目需要!
0 请登录后投票
   发表时间:2008-10-22  
...早就关注这个了.准备学习一下应用到现有项目中
0 请登录后投票
   发表时间:2008-10-22  
发现一个bug,如果你对着一个有子节点的节点连续点几次,就会发现一个很有趣的问题。

所有的结果会在全选和全否之间切换
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics