Yii把CGridView文本框换成下拉框的方法


Posted in PHP onDecember 03, 2014

本文实例讲述了Yii把CGridView文本框换成下拉框的方法。分享给大家供大家参考。具体实现方法如下:

使用yii的朋友都知道Yii中的CGridView默认显示提文本框了,那么我们要怎么把它转换成下拉框呢?本文就此分析一下解决方法。

默认情况下CGridView会生成一个文本框,但是这并不友好,用户往往希望知道有什么可选的,特别是数据库里存的是数字id的时候,我们希望将数字转换为可读的文本,这时候只需要修改一下表头的"filter"属性就行了,比如:

<?php

$this->widget('zii.widgets.grid.CGridView', array(

    'id'=>'business-grid',

    'dataProvider'=>$dataProvider,

    'filter'=> Business::model(),

    'columns'=>array(

        'business_id',

        'name',

        'package_id'=> array(

            'name' => 'package_id',

            'value' => '$data->package->package_title',

            'filter'=> CHtml::listData(Packages::model()->findAll(array('order'=>'package_title')), 'package_id', 'package_title')

        ),

        'user_id'=>array(

            'name' => 'user_id',

            'value' => '$data->user->name',

            'filter'=> CHtml::listData(Users::model()->findAll(array('order'=>'firstname')), 'id', 'name')

        ), 

        'categories' => array(

            'name' => 'categories',

            'value' => '$data->returnAllCategories(", ",false);',

            'filter'=> CHtml::listData(Categories::model()->findAll(array('order'=>'category')), 'cat_id', 'category')

        ),

        'keywords' => array(

            'header' => 'Keywords',

            'value' => '$data->returnAllKeywords(", ",false);',

        ),

        'links'=>array(

            'header'=>'Manage',

            'type'=>'raw',

            'value'=>'CHtml::link(CHtml::image(Yii::app()->request->baseUrl."/images/admin/approve.png","Approve"), array("approve","id"=>$data->business_id,"item"=>"business"),array("class"=>"approve-link","title"=>"Approve Business"))." ".

       CHtml::link(CHtml::image(Yii::app()->request->baseUrl."/images/admin/reject.png","Reject"), array("reject","id"=>$data->business_id,"item"=>"business"),array("class"=>"reject-link","title"=>"Reject Business"))',

        ),

    ),

));

生成type下拉框可以这么写:

'type'=>array(

    'name' => 'type',

    'filter'=>$model->getTypeOptions(),

),
'type'=>array(

    'name' => 'type',

    'filter'=>$model->getTypeOptions(),

),

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP编程函数安全篇
Jan 08 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
解析php框架codeigniter中如何使用框架的session
Jun 24 PHP
php中jpgraph类库的使用介绍
Aug 08 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
PHP中使用Imagick实现各种图片效果实例
Jan 21 PHP
php获得客户端浏览器名称及版本的方法(基于ECShop函数)
Dec 23 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
PHP实现对数组分页处理实例详解
Feb 07 PHP
Ubuntu上安装yaf扩展的方法
Jan 29 PHP
总结PHP代码规范、流程规范、git规范
Jun 18 PHP
一文掌握PHP Xdebug 本地与远程调试(小结)
Apr 23 PHP
Yii实现多按钮保存与提交的方法
Dec 03 #PHP
Yii实现MySQL多数据库和读写分离实例分析
Dec 03 #PHP
Yii框架登录流程分析
Dec 03 #PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 #PHP
PHP多线程类及用法实例
Dec 03 #PHP
php提取字符串中网站url地址的方法
Dec 03 #PHP
thinkphp常见路径用法分析
Dec 02 #PHP
You might like
php生成静态页面的简单示例
2014/04/17 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
php实现在新浪云中使用imagick生成缩略图并上传的方法
2016/09/26 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
JavaScript高级程序设计 阅读笔记(十八) js跨平台的事件
2012/08/14 Javascript
javascript SpiderMonkey中的函数序列化如何进行
2012/12/05 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
从jquery的过滤器.filter()方法想到的
2013/09/29 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
理解和运用JavaScript的闭包机制
2015/08/13 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
基于JavaScript实现 网页切出 网站title变化代码
2016/04/03 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
Three.js 再探 - 写一个微信跳一跳极简版游戏
2018/01/04 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
python中的闭包用法实例详解
2015/05/05 Python
Python中字符串的处理技巧分享
2016/09/17 Python
python技能之数据导出excel的实例代码
2017/08/11 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
python实现TF-IDF算法解析
2018/01/02 Python
python单例模式实例解析
2018/08/28 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
解决python 文本过滤和清理问题
2019/08/28 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
Python实现EM算法实例代码
2020/10/04 Python
关于CSS Tooltips(鼠标经过时显示)的效果
2013/04/10 HTML / CSS
简述数据库的设计过程
2015/06/22 面试题
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
学生实习证明模板汇总
2014/09/25 职场文书
小学教师见习总结
2015/06/23 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers
JS前端监控采集用户行为的N种姿势
2022/07/23 Javascript