jQuery easyui 结合ThinkPHP使用,关于读取数据显示问题

php中文网
发布: 2016-06-23 13:55:42
原创
1312人浏览过

原来项目写了一个EasyUI类,里面写了一个datagrig()方法
 public function _datagrid($tag) {
        $id    = !empty($tag['id']) ? $tag['id'] : strtolower(CONTROLLER_NAME.'_'.ACTION_NAME.'_datagrid');
        $style = !empty($tag['style']) ? $tag['style'] : '';
        //默认参数
     $dataOptions = array(
     'border'       => false,
     'fit'          => true,
     'fitColumns'   => true,
     'rownumbers'   => true,
     'singleSelect' => true,
     'pagination'   => true,
         'pageList'     => array(20,30,50,80,100),
         'pageSize'     => cookie('pagesize') ? cookie('pagesize') : C('DATAGRID_PAGE_SIZE'),
     );
     $options = $tag['options'] ? $this->autoBuildVar($tag['options']) : 'array()';
        $fields  = $tag['fields'] ? $this->autoBuildVar($tag['fields']) : 'null';
        
        $parseStr = '

\' style="'. $style .'">';
        $parseStr .= '$arr):if(isset($arr[\'formatter\'])):unset($arr[\'formatter\']);endif;echo "";endforeach;endif; ?>';
        $parseStr .= '
".$key."
';
        
        return $parseStr;
    }
控制器里是这样写的逻辑
$datagrid = array(
                'options'     => array(
                    'title'   => $currentpos,
                    'url'     => U('Uc/pages', array('grid'=>'datagrid')),
                    'toolbar' => 'uc_pages_datagrid_toolbar',
                ),
                'fields' => array(
                    'page'      => array('field'=>'page','width'=>15,'sortable'=>true),
                    'Access'    => array('field'=>'private','width'=>15,'sortable'=>true),
                    '管理操作'    => array('field'=>'id','width'=>15,'formatter'=>'ucPagesOperateFormatter'),
                )
            );


            $this->assign('datagrid', $datagrid);
页面是这样引用标签的,数据就出来了




现在的问题是,这是操作的pages表,里面有字段id ,page ,private,private的值是0或者1,控制器里利用field=》‘private'将0或者1显示到了页面上,但是我们的要求是当数据库privat字段值是0时页面显示public,是1时,页面显示private。不改变表的内容,结构,也就是不动表,怎样操作才能实现呢?请大家帮我看看,谢谢!

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示

回复讨论(解决方案)

我头脑一热,忽然发现,利用跟管理操作那一列的方式显示就能实现,呵呵,解决了!
我在pages页面里定义了一个格式化函数ucPagesAccessFormatter()
//Access格式化
        function ucPagesAccessFormatter(val){
            var btn=[];
            if(val==0){
                return "public";
            }else{
                return "private";
            }
        }
在控制器里写成:
 'fields' => array(
                    'page'      => array('field'=>'page','width'=>15,'sortable'=>true),
                    'Access'    => array('field'=>'private','width'=>15,'formatter'=>'ucPagesAccessFormatter'),
                    '管理操作'    => array('field'=>'id','width'=>15,'formatter'=>'ucPagesOperateFormatter'),
                )
结果页面就显示出来了:

你们谁回复下啊,我好给你们分啊,我给不了自己分啊,不然分全浪费了!

呃,会easyUI,不会php

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号