加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:14:40 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:Yii把CGridView文本框换成下拉框的方法》要点: 本文介绍了PHP实例:Yii把CGridView文本框换成下拉框的方法,希望对您有用。如果有疑问,可以联系我们。 PHP实例 本篇章节讲解Yii把CGridView文本框换成下拉框的办法.供大家参考研究.具体

《PHP实例:Yii把CGridView文本框换成下拉框的方法》要点:
本文介绍了PHP实例:Yii把CGridView文本框换成下拉框的方法,希望对您有用。如果有疑问,可以联系我们。

PHP实例本篇章节讲解Yii把CGridView文本框换成下拉框的办法.分享给大家供大家参考.具体实现办法如下:

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

PHP实例默认情况下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(",
??????? ),
??????? '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",array("class"=>"reject-link","title"=>"Reject Business"))',
??? ),
));

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

代码如下:
'type'=>array(
??? 'name' => 'type',
??? 'filter'=>$model->getTypeOptions(),
),

PHP实例'type'=>array(
??? 'name' => 'type',

PHP实例希望本文所述对大家基于Yii框架的PHP程序设计有所赞助.

《PHP实例:Yii把CGridView文本框换成下拉框的方法》是否对您有启发,欢迎查看更多与《PHP实例:Yii把CGridView文本框换成下拉框的方法》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读