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 相关文章推荐
模拟OICQ的实现思路和核心程序(一)
Oct 09 PHP
php4的session功能评述(一)
Oct 09 PHP
PHP文件上传实例详解!!!
Jan 02 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP求最大子序列和的算法实现
Jun 24 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
php的dl函数用法实例
Nov 06 PHP
php根据生日计算年龄的方法
Jul 13 PHP
带你了解PHP7 性能翻倍的关键
Nov 19 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
PHP按一定比例压缩图片的方法
Oct 12 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简单获取多个checkbox值的方法
2016/06/13 PHP
教你在header中隐藏php的版本信息
2016/08/10 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
javascript 获取网页参数系统
2008/07/19 Javascript
XmlUtils JS操作XML工具类
2009/10/01 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
jquery tab插件精简版分享
2011/09/10 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
基于JS分页控件实现简单美观仿淘宝分页按钮效果
2016/11/07 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
Angular2仿照微信UI实现9张图片上传和预览的示例代码
2017/10/19 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
javascript回调函数详解
2018/02/06 Javascript
微信小程序之圆形进度条实现思路
2018/02/22 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
详解ES6 CLASS在微信小程序中的应用实例
2020/04/24 Javascript
[25:59]Newbee vs TNC 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
在Django中编写模版节点及注册标签的方法
2015/07/20 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
python函数不定长参数使用方法解析
2019/12/14 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
社区学习十八大感想
2014/01/22 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android