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和XSL stylesheets转换XML文档
Oct 09 PHP
Ajax+PHP 边学边练 之二 实例
Nov 24 PHP
PHP 引用是个坏习惯
Mar 12 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
Jun 06 PHP
php中数字0和空值的区别分析
Jun 05 PHP
PHP实现采集中国天气网未来7天天气
Oct 15 PHP
php生成shtml类用法实例
Dec 09 PHP
php强制用户转向www域名的方法
Jun 19 PHP
php基于jquery的ajax技术传递json数据简单实例
Apr 15 PHP
PHP单态模式简单用法示例
Nov 16 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
Mar 26 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
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
2011/07/31 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
js命名空间写法示例
2015/12/18 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
如何能分清npm cnpm npx nvm
2019/01/17 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
centos下更新Python版本的步骤
2013/02/12 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
python实现mysql的单引号字符串过滤方法
2015/11/14 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
SVM基本概念及Python实现代码
2017/12/27 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
numpy.linspace 生成等差数组的方法
2018/07/02 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
在python中利用numpy求解多项式以及多项式拟合的方法
2019/07/03 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
Python内存映射文件读写方式
2020/04/24 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
卖房协议书
2014/04/11 职场文书
保护环境倡议书300字
2014/05/19 职场文书
信息管理专业自荐书
2014/06/05 职场文书
素质教育标语
2014/06/27 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Minikube搭建Kubernetes集群
2022/03/31 Servers
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
MySQL创建管理KEY分区
2022/04/13 MySQL