用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4237|回复: 1
收起左侧

Extjs Codeigniter 无递归树

[复制链接]
发表于 2010-5-17 01:46:54 | 显示全部楼层 |阅读模式
本帖最后由 mycalf 于 2010-5-17 02:17 编辑

首先是简单的Codeigniter部分:
PHP复制代码
 
 
    function 函数($ID) {
        $this->db->where('父ID字段名', $ID);
        $this->db->order_by("次序字段", "asc"); //asc进行排序
        $data = $this->db->get('表');
 
        $data = $query->result_array();
        foreach($data as $value) {
 
            $item = Array(
                    "id" => $value['gid'],
                    "text" => $value['group_name'],
                    "singleClickExpand" => true, //单击打开树,默认为双击,这里因为要输出JSON,所以可以在这里将一些配置写进来。当然是树的每个项进行配置。
            );
            $ExtData[] = $item;
        }
        $data= json_encode($ExtData);
        return $data;
    }
 
 
复制代码



好了,要传递的数据完成了。下面是ExtJS部分


JS复制代码
 
        var tree = new Tree.TreePanel({
            id:'tree', //这里ID设置是必要的,下面会用到
            title: 'TreePanel的名字',
            autoScroll: true,
            loader: new Tree.TreeLoader({
                dataUrl:'<?=site_url('/user/json');?>',//这里是读取json
                baseParams: {object:'tree'} // 将object这个变量传递到/user/json中去
            }),            
            rootVisible: false,
            root: new Ext.tree.AsyncTreeNode()
        }); //好了。可以使用了。
 
复制代码


这里在介绍一下ExtJS树的扩展:

       tree.on('click', function(node){}) //单击树的状态
       tree.on('contextmenu',function(node,event){}) //对每个节点的右键进行判断。可以生成右键菜单,或者其他功能。
发表于 2010-8-21 19:05:24 | 显示全部楼层
楼主的文章总是这么简洁啊!
马克一下,留着慢慢学!

本版积分规则