phlsbg 2011-12-04 20:54:55 3599次浏览 6条回复 0 0 0
<?php 
$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'sysuser-grid',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'ID',
        'Account',
        //'Password',
        'Mail',
        //'ActivateText',  默认是Activate,
        'CreationTime',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>

Activate 0:激活;1:冻结,在页面上如何显示中文?

  • 回复于 2011-12-04 22:52 举报

    根据MVC分层来说的话,你可以在model里面建一个方法返回。如这样:

    假设你的model为 User,在这个类里面提供这方法:

    public function getActivate()
    {
        $state = array(
            0=>' 激活',
            1=>'冻结',
        );
        return $state[$this->activate];//这里假设你的字段名字为 activate
    }
    

    然后上面的代码这样:

    <?php 
    $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'sysuser-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'columns'=>array(
            'ID',
            'Account',
            //'Password',
            'Mail',
            array(//请看这里
                'name'=>'ActivateText',
                'value'=>'$data->getActivate()',
            ),
        'CreationTime',
            array(
                'class'=>'CButtonColumn',
            ),
    ),
    )); ?>
    
  • 回复于 2011-12-04 23:47 举报

    页面显示 ,是否激活 $data->getActivate()

  • 回复于 2011-12-04 23:53 举报
    /**
    * 返回激活状态
    * @return type 
    */
    public function getActivate() {
        return array(
            '0' => '激活',
            '1' => '冻结',
        );
    }
    public function getActivateText() {        
        $activateOptions = $this->getActivate();
        return $activateOptions[$this->Activate];
    }   
    

    这是我的模型

  • 回复于 2011-12-05 00:09 举报

    一直在这里 报错 108 return $activateOptions[$this->Activate];

  • 回复于 2011-12-05 21:34 举报

    大侠。。。。

  • 回复于 2011-12-06 10:51 举报

    论坛活跃度不高。

您需要登录后才可以回复。登录 | 立即注册