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 类型转换函数intval
Jun 20 PHP
PHP对象相互引用的内存溢出实例分析
Aug 28 PHP
Yii框架登录流程分析
Dec 03 PHP
CentOS6.5 编译安装lnmp环境
Dec 21 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 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实现小型站点广告管理
2006/10/09 PHP
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
ThinkPHP整合百度Ueditor图文教程
2014/10/21 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
javascript随机之洗牌算法深入分析
2014/06/07 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
Bootstrap3 多选和单选框(checkbox)
2016/12/29 Javascript
详解vue 模版组件的三种用法
2017/07/21 Javascript
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
vue-cli3项目展示本地Markdown文件的方法
2019/06/07 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
2014/08/22 Python
使用实现XlsxWriter创建Excel文件并编辑
2018/05/04 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
Django CBV类的用法详解
2019/07/26 Python
python将邻接矩阵输出成图的实现
2019/11/21 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
Python执行时间的几种计算方法
2020/07/31 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
课改先进个人汇报材料
2014/01/26 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
优秀员工自荐书
2015/03/06 职场文书