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

ExtJS+Codeigniter Grid 使用方法

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

Codeigniter部分:

PHP复制代码
 
    function 函数名() {
       $this->db->where('字段', '匹配值');
        $data = $this->db->get('表'); //查找字段等于匹配值的所有记录
        $rows = $data->num_rows(); //记录数量
        $data = $data->result_array(); //将记录转为二维数组
        $data= json_encode($data); //生成json,为了传递给Ext.Grid
        return '({"total":"' . $rows . '","results":' . $data . '})';//输出json
    }
 
复制代码



Ext部分:

JS复制代码
 
        var record = new Ext.data.Record.create([
            {name: '数据库中字段名'},
            {name: '数据库中字段名'}
             ………………
        ]); //定义从proxy中读取的字段
 
        var proxy = new Ext.data.HttpProxy({
            url: '<?=site_url('输出JSON的路径');?>',
            method: 'POST'
        });//定义路径
 
 
        var reader = new Ext.data.JsonReader({
            root: 'results' //这里是和PHP结合的一个关键点。很多人读取不出数据,应该是这里出的问题。请注意root: 'results' 中results和Codeigniter函数输出部分'({"total":"' . $rows . '","results":' . $data . '})'。results就是读取$data信息。
        },
        record //这里调用record,将Ext中要读取的字段和results中的数据结合。
        );
 
 
        var store = new Ext.data.Store({
            proxy: proxy,
            reader: reader
        });//这里没什么好说的。就是将所有配置绑定在一起。
 
 
        var columns = new Ext.grid.ColumnModel([
            new Ext.grid.RowNumberer(),
            {header: "Grid里列的名称", dataIndex: '对应字段'},
            {header: "Grid里列的名称", dataIndex: '对应字段', align : 'center',//注意,这里并没有结束,下面是对字段的判断
                renderer : function(字段) {
                    if (字段 == "true"){return "<img src='<?php echo base_url();?>/图片路径/true.png'>";}
                }
            },
        ]);//这里是对Grid进行排版。
 
        var grid = new Ext.grid.GridPanel({
 
            store: store,
            cm: columns,
            selModel: new Ext.grid.RowSelectionModel({singleSelect:true}),
            }
         ); //好了。将所有设置,调用进Grid。
       store.load({ params: { object:'grid'} }); //读取数据并POST值
 
复制代码
发表于 2011-5-16 08:25:36 | 显示全部楼层
楼主,我刚开始学extjs,请问有extjs4.0的资料没?
网上找到的资料基本上都是2或者3版本的,跟新的不一样

本版积分规则