1

我在数据库中有一个可以存储 0 或 1 的归档状态。0 = 非活动和 1 = 活动。当我在 yii, admin.php 文件中创建一个组合框时,它会正确搜索,但组合框中出现的文本是 0 和 1,但我看到 In-Active 和 Active,但在选项值中它应该是 0 和 1。这里是我的代码...

 $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'cities-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'country.countryname'=>array('name'=>'countryid', 'value'=>'$data->country->countryname', 'filter'=>CHtml::listData(Countries::model()->findAll(array('order'=>'countryname')), 'id', 'countryname')),

'cityname',
'citycode',
'citystatus'=>array('name'=>'citystatus', 'value'=>'$data->setCityStatus() . $data->getCityStatus($data->citystatus)', 'filter'=>CHtml::listData(Cities::model()->findAll(array()), 'citystatus', 'citystatus')),
'citycoords',

array(
'class'=>'CButtonColumn',
'template'=> ($iHasFullAccess == 1 ? '{view}{update}{delete}' :  '{view}') ,
),
),
)); 
?>
4

3 回答 3

0

在您的 CGridView 中配置您的列,如下所示:

'citystatus'=>array(
   'name'=>'citystatus',
   'value'=>'$data->citystatus == 1 ? "Active" : "Inactive"', 
   'filter'=> array(0 => 'Inactive', 1 => 'Active')),
于 2012-10-14T16:58:32.603 回答
0

尝试在 CgridView 列表中更改您的 citystatus 选项,如下所示

'citystatus'=>array('name'=>'citystatus', 'value'=>'Cities::getCityStatus($data->citystatus)', 'filter'=>CHtml::listData(Cities::model()->findAll(array()), 'citystatus', 'citystatus')),

在您的城市模型中更改您的 getCityStatus 函数,如下所示

function getCityStatus($index){
  $status = array('Inactive','Active');
  return $status[$index];
}
于 2012-10-14T10:00:51.637 回答
0

阅读后:http ://www.yiiframework.com/wiki/653/displaying-sorting-and-filtering-model-relations-on-a-gridview/

如果是模型,请添加以下内容:

use yii\helpers\ArrayHelper;
use app\models\citystatus;

后来在数据网格中

>    'columns' => [
>         ['class' => 'yii\grid\SerialColumn'],
>         .....................,
>         [
>             'attribute' => 'deviceState',
>             'value' => 'deviceStateList.Description',
>             'label' => 'Device State',
>             'filter'=> ArrayHelper::map(Citystatus::find()->all(), 'RecordID', 'CityName'),
>         ],

高温高压

于 2016-01-13T15:19:42.023 回答