澳门威利斯人_威利斯人娱乐「手机版」

来自 澳门威利斯人 2019-08-10 16:52 的文章
当前位置: 澳门威利斯人 > 澳门威利斯人 > 正文

Yii把CGridView文本框换成下拉框,Yii把CGridView文本

正文实例汇报了Yii把CGridView文本框换来下拉框的办法。分享给咱们供大家参照他事他说加以考察。具体贯彻形式如下:

暗中认可情状下CGridView会生成叁个文本框,可是那并不友好,用户往往愿意理解有啥样可选的,极其是数据库里存的是数字id的时候,大家愿意将数字转换为可读的公文,那时候只须要修改一下表头的"filter"属性就行了,举个例子:

form表单  Views中:  <?php echo $form->dropDownList($model,'cate_id',Category::model()->getCategoryList()); ?>  Models中:  public function getCategoryList()  {  $returnArr = $this->findAll();  return CHtml::listData($returnArr, 'cate_id', 'cate_name');  }  询问列表  Models中:  public function getCateName($id)  {  $currCate = $this->findByAttributes(array('cate_id'=>$id));  return $currCate->cate_name;  }  Views中: (admin.php)  //'cate_id',  array('name'=>'cate_id', 'value'=>'Category::model()->getCateName($data->cate_id)', 'filter'=>Category::model()->getCategoryList()), 

应用yii的意中人都知道Yii中的CGridView暗中同意展现提文本框了,那么大家要怎么把它调换到下拉框呢?本文就此深入分析一下缓慢解决方法。

 代码如下

暗中同意情状下CGridView会生成三个文本框,不过那并不团结,用户往往愿意知道有如何可选的,特别是数据Curry存的是数字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下拉框能够这么写:

本文由澳门威利斯人发布于澳门威利斯人,转载请注明出处:Yii把CGridView文本框换成下拉框,Yii把CGridView文本

关键词: 澳门威利斯人 YiiFreamewor