《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(", ",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"))',
??????? ),
??? ),
));
PHP實例生成type下拉框可以這么寫:
代碼如下:
'type'=>array(
??? 'name' => 'type',
??? 'filter'=>$model->getTypeOptions(),
),
PHP實例'type'=>array(
??? 'name' => 'type',
??? 'filter'=>$model->getTypeOptions(),
),
PHP實例希望本文所述對大家基于Yii框架的PHP程序設計有所贊助.
《PHP實例:Yii把CGridView文本框換成下拉框的方法》是否對您有啟發,歡迎查看更多與《PHP實例:Yii把CGridView文本框換成下拉框的方法》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/13493.html