|
本帖最后由 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){}) //对每个节点的右键进行判断。可以生成右键菜单,或者其他功能。 |
|