Yii method to replace the CGridView text box with a drop-down box, yiicgridview
The example in this article describes how Yii replaces the CGridView text box with a drop-down box. Share it with everyone for your reference. The specific implementation method is as follows:
Friends who use Yii know that the CGridView in Yii displays a text box by default, so how do we convert it into a drop-down box? This article will analyze the solution.
By default, CGridView will generate a text box, but this is not user-friendly. Users often want to know what options are available, especially when the database stores numeric IDs. We want to convert the numbers into readable ones. Text, then you only need to modify the "filter" attribute of the table header, such as:
Copy code The code is as follows:
$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"))',
),
),
));
The generated type drop-down box can be written as follows:
Copy code The code is as follows:
'type'=>array(
'name' => 'type',
'filter'=>$model->getTypeOptions(),
),
'type'=>array(
'name' => 'type',
'filter'=>$model->getTypeOptions(),
),
I hope this article will be helpful to everyone’s PHP program design based on the Yii framework.
http://www.bkjia.com/PHPjc/920977.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/920977.htmlTechArticleYii's method of replacing the CGridView text box with a drop-down box, yiicgridview This article explains how to replace the CGridView text box with Yii's drop-down box method. Share it with everyone for your reference. Specific implementation method...